如何将窗体窗口的所有者设置为 WPF 窗口?
Posted
技术标签:
【中文标题】如何将窗体窗口的所有者设置为 WPF 窗口?【英文标题】:How can I set Form Window's owner to WPF Window? 【发布时间】:2021-08-25 14:13:22 【问题描述】:我的应用程序是在 WPF .NET Framework 中构建的。
我有一个 WPF MainWindow,我想将几个 FormWindows 作为 WPF MainWindow 的子窗口。在创建父 WPF 窗口的子 WPF 窗口时,我可以简单地将Owner = this
放入子窗口,但它当然不适用于窗体窗口。
有什么办法可以实现吗?
提前致谢
【问题讨论】:
这能回答你的问题吗? Open WinForm from WPF application? 【参考方案1】:不,您不能将 WPF 窗口的 Owner
属性设置为除另一个 WPF 窗口之外的任何其他内容。
有一个WindowInteropHelper 类有一个Owner
属性,可以设置为表单的HWND:
Form1 form = new Form1();
WindowInteropHelper wih = new WindowInteropHelper(wpfWindow);
wih.Owner = form.Handle;
另一个建议是跳过表单并将表单的内容移动到 WPF 窗口中,例如使用 WindowsFormsHost 控件。
【讨论】:
以上是关于如何将窗体窗口的所有者设置为 WPF 窗口?的主要内容,如果未能解决你的问题,请参考以下文章