【问题标题】:Adding WPF window to Win32 application将 WPF 窗口添加到 Win32 应用程序
【发布时间】:2011-04-09 04:07:49
【问题描述】:

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

您能帮我确定在 win32 应用程序中托管 WPF 窗口所需的步骤吗?欢迎提供详细信息。

【问题讨论】:

    标签: wpf winapi interop


    【解决方案1】:

    很抱歉给出了陈词滥调的答案,但我无法比 MSDN 上的解释更好地解释它: Hosting WPF Content in a Microsoft Win32 WindowWalkthrough: Hosting a WPF Clock in Win32。您可能还对 MSDN Code Gallery 上的 WPF 文档示例感兴趣,或者查看他们的 mind-mapped version

    【讨论】:

      【解决方案2】:

      请记住,如果它是您所追求的顶级窗口(而不是嵌入在另一个窗口中的窗口),您可以简单地从托管 C++ 创建一个新的 Window 派生 WPF 窗口。

      IE,或者 1) 创建一个 C++/CLI 库来引用您的 WPF 库并从您的非托管代码中调用它或 2) 添加 /clr 库设置(不推荐,由于性能影响)并添加对您的WPF 库。然后只需调用:

      #include <vcclr.h>
      
      gcroot<MyWindow^> newWin = gcnew MyWindow();
      newWin->Show();
      

      【讨论】:

        猜你喜欢
        • 2011-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-26
        • 1970-01-01
        • 1970-01-01
        • 2021-09-01
        • 1970-01-01
        相关资源
        最近更新 更多