我有一个基于混合使用MFC,WTL,user32和其他一些技术的win32应用程序的怪物。我需要添加另一个顶级窗口,我想给WPF一个机会。
您能否帮我确定在win32应用中托管WPF窗口所需的步骤?欢迎细节。
答案 0 :(得分:1)
我很抱歉给出了陈词滥调,但我无法解释它比在MSDN上解释的更好: Hosting WPF Content in a Microsoft Win32 Window,Walkthrough: Hosting a WPF Clock in Win32。您可能还对MSDN Code Gallery处的WPF文档示例感兴趣,或者查看他们的mind-mapped version。
答案 1 :(得分:0)
请记住,如果它是您所在的顶级窗口(而不是嵌入在另一个窗口中的窗口),您只需从托管C ++创建一个新的Window派生的WPF窗口。
IE,或者1)创建一个引用WPF库的C ++ / CLI库,并从非托管代码中调用它或2)添加/ clr库设置(由于性能影响,不建议使用)并添加对您的引用WPF库。然后简单地致电:
#include <vcclr.h>
gcroot<MyWindow^> newWin = gcnew MyWindow();
newWin->Show();