Windows 8中的WinRT和WPF

bst*_*dos 33 wpf windows-8 windows-runtime

据我了解,WinRT是不使用底层Win32 API编写的WPF的不同版本.

WinRT和WPF的关系是什么?WPF是否可以在Windows 7的Metro下工作,还是会推出经典桌面?

从主题演讲中不太清楚.如果安装了Windows 8的人可以确认它的行为.

谢谢

Han*_*ant 37

WinRT是Winapi 的替代品.api是原生的,与WPF非常不同,WPF作为CLR顶层的层运行.它当然类似于WPF,是导致混淆的部分原因.它采用了托管代码的元数据格式,取代了旧的类型库.并使用XAML进行UI设计,非常类似于WPF,Silverlight和Windows Phone.您仍然可以为Windows 8编写WPF应用程序,但您的应用程序无法通过商店发布,不会与Metro桌面集成,也不会在基于ARM内核的平板电脑上运行.这是否真正的问题在很大程度上取决于Metro在市场上的表现.


Aka*_*ava 10

WPF和WinRT之间没有关系,就像Silverlight和WPF之间没有关系一样.现在我们有三种技术,WPF,Silverlight和WinRT.

如果您尝试执行WPF应用程序,它将不会在Metro上执行,它将仅在经典桌面中执行.

在Visual Studio 2011中,您将WPF和Metro作为两种不同类型的应用程序,并且用于WPF和WinRT的Xaml不相同,用于WinRT的Xaml与Silverlight的Xaml几乎相同,因为WinRT中缺少WPF存在的许多类图书馆.但是,Silverlight中存在的大多数类都可以在WinRT中使用.


小智 10

Windows运行时(WinRT)是用于创建Metro应用程序(以及更高版本的服务器应用程序)的备用API.

API是基于类/方法/结构的,并浮出水面到.Net metro应用程序,html5/css3/javascript应用程序和C/C++城域应用程序.

实现是原生的.

API通过.winmd文件显示,其中包含的元数据与.Net程序集中的元数据非常相似.

这些API旨在保护和异步友好,许多API需要使用async/await,因为它们可能需要超过50毫秒才能执行.

它包括Win32 API和COM apis的子集.

无论如何...以下链接帮助... channel9也有一些//关于主题的构建/视频..

Metro风格应用程序开发 - http://msdn.microsoft.com/en-us/windows/apps/

适用于Metro风格应用的Win32和COM - http://msdn.microsoft.com/en-us/library/windows/apps/br205757(v=VS.85).aspx

Metro风格应用的API - http://msdn.microsoft.com/en-us/library/windows/apps/br211369(v=VS.85).aspx


Dan*_*ite 5

WinRT是一个新的库,您可以使用XAML,但不能使用WPF.

WPF主要使用DirectX进行可视化.

您可以使用WinRT:

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