以编程方式使所有wpf项目窗口位于最顶层
本文关键字:窗口 于最顶 项目 wpf 编程 方式使 | 更新日期: 2023-09-27 18:02:24
可以在Visual Studio设计器或代码中使单个窗口最顶部,但是是否有一种方法可以使每个窗口一次与代码最顶部?
我的问题是,只是使主父窗口最上面隐藏任何其他窗口,所以很明显我需要使它们都最上面,或者我错了吗?
设置主窗口的TopMost属性。
然后当创建任何其他子窗口/对话框时,将MainWindow属性传递给show Dialog方法。这将子窗口设置为一个模态对话框。这意味着它将始终出现在主窗口上方。
public void ShowModelDialog()
{
MyDialog d = new MyDialog();
d.ShowDialog(this);
}
查看更多信息
首先必须在创建实例时指定窗口的所有者。
下面的示例展示了如何在显示新窗口之前先设置所有者。MyWindow _MyWindow = new MyWindow() { Owner = Application.Current.MainWindow };
注意:被设置为所有者的窗口必须已经显示,否则您可能会得到XamlParseException
或InvalidOperationException
。
其次您只需要使用_MyWindow.ShowDialog()
来显示窗口。这可以防止所有者窗口移动到自有窗口的顶部,即使它被设置为在子窗口显示后的最顶部