首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将WinForms窗体设置为WPF窗口的所有者

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

Stack Overflow用户
提问于 2015-09-21 17:55:56
回答 1查看 4.9K关注 0票数 8

我有一个构建在System.Windows.Forms.Form上的主应用程序,有一个遗留的System.Windows.Window,用户可以调用它,它被设置为最顶层。我希望主应用程序拥有这个窗口,所以当应用程序最小化时,它就会最小化。所以我期望的代码是

代码语言:javascript
代码运行次数:0
运行
复制
TopmostDisplayWindow.Owner = MainAppForm;

但是,没有采用表单的Window.Owner方法,而且窗口没有覆盖作为所有者的Show()。

有什么简单的方法可以为MainAppForm找到一个窗口,还是需要一些更复杂的东西呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-21 18:39:48

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

代码语言:javascript
代码运行次数:0
运行
复制
var window = new YourWPFWindow();
WindowInteropHelper helper = new WindowInteropHelper(window);
helper.Owner = this.Handle;
window.Show();

在主/父窗体(即Winform Form )中使用上面的代码。当要显示WPF窗口时,请记住添加以下引用:

  1. PresentationCore
  2. PresentationFramework
  3. WindowsBase
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32701680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档