我想显示来自 Windows 窗体应用程序 (.NET 3.5) 的 WPF 窗口。
此代码在示例项目中似乎没有任何问题:
public partial class WinFormsForm1 : Form
{
public WinFormsForm1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
WpfWindow1 w = new WpfWindow1();
w.Show();
}
}
窗体作为普通 Winforms 窗体从 Main()
开始:
Application.Run(new WinFormsForm1());
在我看来,这太容易令人难以置信。这有什么缺点吗?这样做安全吗?
最佳答案
它有一个严重的缺点:无模式 WPF 窗口会 not get keyboard input .
需要在显示 WPF 窗口之前添加 EnableModelessKeyboardInterop
方法调用:
WpfWindow1 w = new WpfWindow1();
System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(w);
w.Show();
关于c# - 从 WinForms 窗体显示 WPF 窗口绝对安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870498/