【发布时间】:2010-10-28 05:46:35
【问题描述】:
在我的应用中打开的弹出窗口始终位于顶部。当我最小化应用程序时它会消失。但否则,如果应用程序打开一个新窗口,或者如果我切换到另一个程序而不最小化应用程序,弹出窗口将保持在顶部。当应用失去焦点时如何隐藏弹出窗口?
谢谢
【问题讨论】:
标签: wpf
在我的应用中打开的弹出窗口始终位于顶部。当我最小化应用程序时它会消失。但否则,如果应用程序打开一个新窗口,或者如果我切换到另一个程序而不最小化应用程序,弹出窗口将保持在顶部。当应用失去焦点时如何隐藏弹出窗口?
谢谢
【问题讨论】:
标签: wpf
听起来您需要通过将 Owner 属性设置为创建它的窗口来将弹出窗口的所有者/父级设置为正确的窗口。
【讨论】:
可以将所有者(父窗口)传递给弹出窗口的构造函数,然后指定
public class PopupWindow: Window
{
public PopupWindow(Window owner)
{
this.Owner = owner;
}
}
然后打开你的弹出窗口
现在要打开您的弹出窗口,您将使用如下内容:
var popup = new PopupWindow(ownerWindow);
popup.Show();
或者如果调用者是父母(所有者)
var popup = new PopupWindow(this);
popup.Show();
【讨论】: