我们可以将WinForms应用程序与WPF应用程序集成吗?

时间:2012-05-03 12:52:39

标签: wpf winforms interop

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

有可能实现这个目标吗?

2 个答案:

答案 0 :(得分:4)

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

不幸的是,事情的运作方式很大程度上取决于你正在做什么,上次我检查时有多个粗糙的边缘。有关详细信息,请务必从this MSDN page开始。

如果你想在同一个应用程序中拥有“独立”的WPF窗口和WinForms表单,你将 使两个框架在UI线程的消息循环中“共享”一些代码。有关如何操作的入门读物,请参阅here

答案 1 :(得分:1)

有各种课程可以帮助你解决这个问题 要在WPF窗口中托管Windows窗体控件,可以使用WindowsFormsHost类。要在Windows窗体窗口中托管WPF控件,可以使用ElementHost类。

你可以在这里查看有关主题的信息(窗体部分):
http://msdn.microsoft.com/en-us/library/ms753178.aspx