WPF:Popup总是浮在上面。我该如何纠正?

时间:2010-10-28 05:46:35

标签: wpf

在我的应用程序中打开的弹出窗口始终保持最佳状态。当我最小化应用程序时它会消失。但是,如果应用程序打开一个新窗口或者如果我切换到另一个程序而没有最小化应用程序,则弹出窗口保持在最顶层。当应用程序失去焦点时,如何隐藏弹出窗口?

由于

2 个答案:

答案 0 :(得分:2)

听起来你需要通过将Owner属性设置为创建它的窗口来将弹出窗口的所有者/父级设置为正确的窗口。

答案 1 :(得分:0)

您可以将所有者(父窗口)传递给弹出窗口的构造函数,然后指定

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();