2011-10-08 11 views
33

Come ho capito, WinRT è una versione diversa di WPF scritta senza utilizzare le API Win32 sottostanti.WinRT e WPF in Windows 8

Qual è la relazione tra WinRT e WPF? WPF funzionerà sotto Metro in Windows 7 o lancerà il desktop classico?

Questo non è chiaro dal Keynote. Se qualcuno ha installato Windows 8 può confermare il suo comportamento.

Grazie

+2

Aspettatevi il peggio quando vieni da WPF. Un sacco di cose sono state rimosse .. –

risposta

5

WinRT è una nuova libreria che è possibile utilizzare XAML, ma non WPF.

WPF utilizza principalmente DirectX per la visualizzazione.

È possibile utilizzare WinRT con:

  • XAML
    • C#
    • C++
    • VB.NET
  • HTML/JS/CSS
+0

WPF passa al desktop classico o funziona in Metro? Grazie – bstodos

+0

WPF è per applicazioni desktop, non metropolitane. Le app Metro devono essere scritte AFAIK con WinRT. –

+0

Ma dovremmo essere in grado di trasferire facilmente i nostri modelli WPF e ViewModels a WinRT, e dobbiamo solo riscrivere le nostre viste? –

10

Cinon c'è alcuna relazione tra WPF e WinRT, proprio come non c'è alcuna relazione tra Silverlight e WPF. Ora abbiamo tre tecnologie, WPF, Silverlight e WinRT.

Se si tenta di eseguire l'applicazione WPF, non verrà eseguito su Metro, verrà eseguito solo sul desktop classico.

In Visual Studio 2011, hai WPF e Metro come due diversi tipi di applicazioni e Xaml per WPF e WinRT non è lo stesso, Xaml per WinRT è praticamente lo stesso di quello di Silverlight come molte classi che esistono per WPF mancano nella libreria WinRT. Ma la maggior parte delle classi esistenti per Silverlight sono disponibili in WinRT.

37

WinRT è un sostitutivo per Winapi. L'api è nativo, molto diverso da WPF che viene eseguito come livello in cima al CLR. Assomiglia certamente al WPF, parte di ciò che causa confusione. Ha adottato il formato dei metadati del codice gestito, sostituendo le librerie dei tipi di vecchio. E usa XAML per i progetti dell'interfaccia utente, proprio come WPF, Silverlight e Windows Phone. Puoi ancora scrivere app WPF per Windows 8 ma la tua app non può essere pubblicata attraverso lo store, non si integrerà con il desktop di Metro e non verrà eseguita su tablet basati sul core ARM. Se questo è un problema reale dipende molto da quanto bene farà Metro sul mercato.

10

Windows Runtime (WinRT) è un'API alternativa utilizzata per creare Applicazioni Metro (e un'applicazione server successiva).

Le API sono di classe/metodo/struct e vengono visualizzate in app .Net metro, html5/css3/javascript app e C/C++.

L'implementazione è nativa.

Le API sono rese visibili tramite i file .winmd, che contengono metadati molto simili ai metadati che si hanno negli assiemi .Net.

Le API sono progettate per garantire e asincrono amichevole con molte API che richiedono l'uso di async/attendono a causa di potenzialmente prendere più di 50 msec per l'esecuzione.

Include un sottoinsieme di API Win32 e API COM.

Comunque ... i seguenti collegamenti di aiuto ... Channel9 ha anche qualche // build/video sul tema ..

Metro sviluppo stile app - http://msdn.microsoft.com/en-us/windows/apps/

Win32 e COM per stile Metro apps - http://msdn.microsoft.com/en-us/library/windows/apps/br205757(v=VS.85).aspx

API per Metro app in stile - http://msdn.microsoft.com/en-us/library/windows/apps/br211369(v=VS.85).aspx

2

WinRT è un'API non gestita basata su interfacce COM. Lo usi chiamando gli oggetti buit nei file di metadati .winmd (directory Windows \ System32 \ WinMedataData).

Tutti gli spazi dei nomi iniziano con "Windows".

È possibile scrivere l'applicazione per Windows 8 utilizzando i file XAML, ma questo è l'unico punto comune con WPF.

Problemi correlati