2010-09-22 81 views

回答

8

您应该能够通过为对话框创建一个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得到了代码示例。)