【问题标题】:Wpf set owner window not workingWpf设置所有者窗口不起作用
【发布时间】:2017-02-17 23:10:19
【问题描述】:

我有一个主窗口,我希望它成为所有其他窗口的所有者

来自主窗口的类,这是代码

private voide btn_Click()
 {
      SomeWindow w = new SomeWindow()
      w.Owner = this;
      w.Show();
  }

也试过了

w.Owner = Application.Current.MainWindow

但它永远不会起作用

【问题讨论】:

  • 为什么你认为它不起作用?
  • 我真的不知道..应该就是这么简单
  • 我的意思是你想做什么?
  • 试图让某个窗口成为主窗口的子窗口
  • 调试时它会正确获取主窗口并将其设置为子窗口的所有者.. 但是当应用程序可视化两个窗口时是分开的

标签: c# wpf


【解决方案1】:

根据您的评论,您似乎想要这样的东西:

 w.ShowInTaskbar = false;

或者你可能想这样做:

w.ShowDialog();

注意Owner-Child relationships do

一旦建立这种关系,就会表现出以下行为:

  • 如果一个所有者窗口被最小化,它拥有的所有窗口也会被最小化。

  • 如果一个拥有的窗口被最小化,它的所有者不会被最小化。

  • 如果所有者窗口最大化,则所有者窗口及其拥有的窗口都会恢复。

  • 拥有者窗口永远不能覆盖拥有者窗口。

  • 未使用 ShowDialog 打开的拥有的窗口不是模态的。用户仍然可以与所有者窗口进行交互。

  • 如果您关闭所有者窗口,其拥有的窗口也会关闭。

  • 如果拥有的窗口由其所有者窗口使用 Show 打开,并且所有者窗口已关闭,则不会引发该拥有的窗口的 Closing 事件。

【讨论】:

  • 这也有帮助..但有关更多详细信息..在 Windows 窗体中,当您设置子窗口的父级时,孩子永远不会超出父级框架.. 我希望行为像那样
猜你喜欢
  • 1970-01-01
  • 2014-10-12
  • 2021-08-25
  • 2011-02-05
  • 1970-01-01
  • 2013-08-20
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
相关资源
最近更新 更多