如何阻止对话窗口隐藏

Dav*_*kes 8 c# wpf modal-dialog

如果我创建一个派生自System.Windows.Window的类并使用ShowDialog显示它,它会按预期显示在主窗口上方,并且主窗口被禁用.但是,可以将两个窗口放在其他应用程序之后,然后将主窗口拉回来.这只留下一个似乎已经崩溃的窗口,并且可能令人困惑.

如果显示主窗口,是否可以确保始终显示对话框窗口?MessageBox.Show对话框没有这样的问题

更新:

测试对话框定义为

public partial class MyDialog : Window
{
    public MyDialog()
    {
        InitializeComponent();
    }
}
Run Code Online (Sandbox Code Playgroud)

并称之为使用

    MyDialog d = new MyDialog();
    d.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

bli*_*eis 7

你必须设置所有者属性.

MyDialog d = new MyDialog();
d.Owner = Application.Current.MainWindow;//or your owning window
d.ShowDialog();
Run Code Online (Sandbox Code Playgroud)