我有一个围绕System.Windows.Forms.Form构建的主应用程序有一个用户可以调用的遗留System.Windows.Window,它被设置为Topmost。我希望Window由主应用程序拥有,因此它将最小化应用程序的最小化。 所以我的预期代码是
TopmostDisplayWindow.Owner = MainAppForm;
但是,没有Window.Owner方法采用Form和Window没有覆盖所有者的Show()。
是否有一种简单的方法可以获得MainAppForm的窗口,还是需要更复杂的东西?
答案 0 :(得分:5)
您可以使用WindowInteropHelper
并设置wcslen()
属性:
Owner
在主表单中使用Winform var window = new YourWPFWindow();
WindowInteropHelper helper = new WindowInteropHelper(window);
helper.Owner = this.Handle;
window.Show();
上面的代码。
当您想要显示WPF窗口时,请务必添加必需的引用:Form
,PresentationCode
,PresentationFramework
。