繁体   English   中英

将 WinForms 窗体设置为 WPF 窗口的所有者

[英]Setting a WinForms Form as Owner for a WPF Window

我有一个围绕 System.Windows.Forms.Form 构建的主应用程序有一个旧的 System.Windows.Window 用户可以调用它被设置为 Topmost。 我希望 Window 归主应用程序所有,因此当应用程序最小化时它会最小化。 所以我预期的代码是

TopmostDisplayWindow.Owner = MainAppForm;

但是,没有采用 Form 的 Window.Owner 方法,并且 Window 没有覆盖采用所有者的 Show()。

有没有一种简单的方法可以为 MainAppForm 获取一个窗口,还是需要更复杂的东西?

您可以使用WindowInteropHelper并设置它的Owner属性:

var window = new YourWPFWindow();
WindowInteropHelper helper = new WindowInteropHelper(window);
helper.Owner = this.Handle;
window.Show();

在 Winform Form主窗体中使用上面的代码。 当您想要显示 WPF 窗口时,请记住添加所需的引用: PresentationCodePresentationFrameworkWindowsBase

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM