我想将两个现有的应用程序集成为一个。其中一个应用程序基于 Windows 窗体构建,另一个基于 WPF。
有可能实现这一目标吗?
WPF 提供了WindowsFormsHost
允许您在 WPF 窗口中承载 WinForms 控件的类;相反,WinForms 提供ElementHost
了允许您在表单中承载 WPF 控件的功能。
不幸的是,事情的进展情况在很大程度上取决于你在做什么,上次我检查时有不止一些粗糙的边缘。欲了解更多信息,一定要从这个 MSDN 页面开始。
如果您想在同一个应用程序中拥有“独立”的 WPF 窗口和 WinForms 表单,则必须让这两个框架在您的 UI 线程的消息循环中“共享”一些代码。有关如何执行此操作的入门知识,请参见此处。
有各种课程可以帮助您解决这个问题。
要在 WPF 窗口中托管 Windows 窗体控件,您可以使用WindowsFormsHost
该类。要在 Windows 窗体窗口中托管 WPF 控件,您可以使用ElementHost
该类。
您可以在此处查看有关该主题的更多信息(Windows 表单部分):http:
//msdn.microsoft.com/en-us/library/ms753178.aspx