【问题标题】:Can we integrate a WinForms application with a WPF application?我们可以将 WinForms 应用程序与 WPF 应用程序集成吗?
【发布时间】:2012-05-03 12:52:39
【问题描述】:

我想将两个现有的应用程序集成为一个。其中一个应用基于 Windows 窗体构建,另一个基于 WPF。

有可能实现吗?

【问题讨论】:

    标签: wpf winforms interop


    【解决方案1】:

    WPF 提供了WindowsFormsHost 类,允许您在 WPF 窗口中承载 WinForms 控件;相反,WinForms 提供ElementHost,允许您在表单中托管 WPF 控件。

    不幸的是,事情的好坏很大程度上取决于你正在做什么,上次我检查时有不止一些粗糙的边缘。想了解更多,一定要从this MSDN page开始。

    如果您想在同一个应用程序中拥有“独立”的 WPF 窗口和 WinForms 表单,您将必须让这两个框架在您的 UI 线程的消息循环中“共享”一些代码。有关如何执行此操作的入门知识,请参阅here

    【讨论】:

      【解决方案2】:

      有各种课程可以帮助您。
      要在 WPF 窗口中托管 Windows 窗体控件,可以使用 WindowsFormsHost 类。要在 Windows 窗体窗口中托管 WPF 控件,您可以使用 ElementHost 类。

      您可以在此处查找有关该主题的更多信息(Windows 窗体部分):
      http://msdn.microsoft.com/en-us/library/ms753178.aspx

      【讨论】:

        最近更新 更多