如何从WinForms菜单中打开WPF对话框

Ele*_*ena 4 wpf winforms

我有一个WinForms menuitem,我需要在菜单上单击新加载的WPF对话框.我该怎么做呢?谢谢

And*_*ndy 11

您应该能够通过为对话框创建WPF类的新实例来显示它,然后调用它的ShowDialog()方法.

唯一的技巧是正确设置WPF对话框的所有者.您不能直接设置Owner属性,因为这需要WPF窗口.但是,您可以使用System.Windows.Interop.WindowInterpHelper类来解决此问题:

MyWpfDialog dialog = new MyWpfDialog();
new System.Windows.Interop.WindowInteropHelper(dialog).Owner = this.Handle;
dialog.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

(我从http://blog.stpworks.com/archive/2009/07/02/setting-wpf-dialog-owner-from-within-winforms-application.aspx获得了代码示例.)