2

嗨,大家好,

我正在开发基于 Windows 窗体 C# 模式的新项目。我的软件中的一个窗口,需要由WPF设计,有没有办法在Windows Forms项目中使用WPF窗口?

我的意思是,当我调用新窗口时,我使用以下代码:

Windows w = new Windows();
w.Show();

但是当我在 WPF 类上尝试它时,它向我抛出了一个不支持的错误。

我可以用 WPF 窗口做类似的事情吗?

4

1 回答 1

5

如果您发现自己需要从 WinForms 程序打开 WPF 窗口:

  1. 创建/添加类型为“WPF 自定义控件库”的新项目
  2. 添加类型为“Window (WPF)”的新项目
  3. 用 WPF 窗口做你的事
  4. 从您的 WinForms 应用程序中,创建并打开 WPF 窗口。

代码片段:

WPFWindow.Window1 wpfwindow = new WPFWindow.Window1();
ElementHost.EnableModelessKeyboardInterop(wpfwindow);
wpfwindow.Show();

但是,请确保您具有以下 using 语句:

using System; //Given 
using System.Windows.Forms; //Given
using System.Windows.Forms.Integration; //Not so Given.

请参阅:
如何以编程方式在 WinForm 应用程序中创建
WPF 窗口 从 WinForms 打开 WPF 窗口并将表单应用程序与 WPF 应用程序链接
如何将 WPF 窗口添加到 WinForms 应用程序

于 2013-08-09T09:30:16.307 回答