将WPF窗口添加到Win32应用程序

时间:2010-09-07 11:48:24

标签: wpf winapi interop

我有一个基于混合使用MFC,WTL,user32和其他一些技术的win32应用程序的怪物。我需要添加另一个顶级窗口,我想给WPF一个机会。

您能否帮我确定在win32应用中托管WPF窗口所需的步骤?欢迎细节。

2 个答案:

答案 0 :(得分:1)

我很抱歉给出了陈词滥调,但我无法解释它比在MSDN上解释的更好: Hosting WPF Content in a Microsoft Win32 WindowWalkthrough: 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();