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

时间:2010-09-22 16:01:24

标签: wpf winforms

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

1 个答案:

答案 0 :(得分:10)

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

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

MyWpfDialog dialog = new MyWpfDialog();
new System.Windows.Interop.WindowInteropHelper(dialog).Owner = this.Handle;
dialog.ShowDialog();

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