对话框窗口在其他窗口后面丢失

15

我对WPF不太熟悉,所以这可能是个简单的问题。我使用ShowDialog()打开一个对话框窗口。然后,如果我点击另一个全屏或覆盖我的对话框窗口的窗口,很难回到对话框。在任务栏中出现的图标可以将我带回主WPF窗口,但对话框仍隐藏在其他窗口后面。我要么将阻塞窗口最小化,要么按Alt-Tab回到我的应用程序(这将显示对话框但将主窗口隐藏)。

该窗口的定义如下:

<Window x:Class="MyProject.MyWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        ResizeMode="CanResizeWithGrip"
        ShowInTaskbar="False"
        WindowStartupLocation="CenterOwner"
        Width="750"
        Height="565"
        Title="MyWindow">

我正在这样打开它:

var dlg = new MyWindow();
if (dlg.ShowDialog() != true)
    return;
1个回答

18

你应该设置对话框窗口的所有者。像这样:

var dlg = new MyWindow();
dlg.Owner = this;
if (dlg.ShowDialog() != true)    
    return;

有没有更自动化的方法?将其作为参数传递可能是一种,但可能还有更好的方法? - bytecode77

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接