C++ 从原生C++;Windows x上的应用程序,其中x<;8.

C++ 从原生C++;Windows x上的应用程序,其中x<;8.,c++,wpf,xaml,mfc,c++-cx,C++,Wpf,Xaml,Mfc,C++ Cx,因此,我们有一个遗留应用程序,它使用MFC和win32资源来指定用户界面元素。在研究C++/CX和WRL时,我看到了许多可能性。然而,我们目前对Windows应用商店或现代用户界面不感兴趣。我们需要支持Windows 7一段时间,而且我们可能一直希望成为桌面应用程序。是否有一个迁移路径从MFC和资源文件到基于XML的UI规范,允许我们继续编写本地C++(至少为现有代码库的90%),但不需要Windows 8或限制我们到Metro沙箱?WPF不绑定到Windows 8。可从上的Vista获得。在现

因此,我们有一个遗留应用程序,它使用MFC和win32资源来指定用户界面元素。在研究C++/CX和WRL时,我看到了许多可能性。然而,我们目前对Windows应用商店或现代用户界面不感兴趣。我们需要支持Windows 7一段时间,而且我们可能一直希望成为桌面应用程序。是否有一个迁移路径从MFC和资源文件到基于XML的UI规范,允许我们继续编写本地C++(至少为现有代码库的90%),但不需要Windows 8或限制我们到Metro沙箱?

WPF不绑定到Windows 8。可从上的Vista获得。在现有的MFC应用程序中集成WPF有不同的方法,具体取决于您的应用程序设计。您可以使用.NET互操作性ActiveX——或者您可以使用XMLRPC实现客户端-服务器体系结构,其中的程序逻辑驻留在服务器中,WPF前端中的接口设计。< / P>如果有,有没有办法使用XAMLISH来指定MFC UI布局?XAML与C++一起工作,对于WPF,您需要使用C++/CLI->@Jay,这取决于您如何执行托管到非托管接口。如果必须封送成吨的数据,可能需要很长时间。但一般来说,如果您在将实现与GUI分离方面做得很好,就不必经常跨越这一障碍。请记住,人们对GUI的响应速度会减慢几十毫秒。C++/CLI使用“IJW”方法相当有效地合并本机代码和托管代码。但是C++ + CLI不是C++,所以如果你不想学习其他语言,就去其他的东西。@杰伊,重要的是要提到WinRT中的XAML实现不是WPF。它更像是WPF的翻版。事实上,您可以在WPF中找到WinRT中没有的几个XAML级和框架级特性。WinRT XAML功能集在这个意义上与Silverlight非常接近,但它的内部工作方式不同,因为它不是.Net。@Jay嗯,WPF是.Net的一部分,而.Net是受管理的。没办法。最近有消息说微软正在使用.Net Native,但目前还不清楚这是否适用于Desktop.Net。目前,他们正在谈论的正是为移动平台这样做。