3

这是当您处于以下情况时会发生的问题: - 在我的应用程序中有一个主窗口 - 我创建了另一个不显示在任务栏中的窗口,并且是一个工具窗口。-我将第二个窗口显示为对话框窗口(从主窗口) -我切换到系统中运行的另一个应用程序,当我回到应用程序时显示主窗口,但它被第二个窗口锁定,没有显示。

这是第二个窗口的代码:

<Window x:Class="WpfApplication1.DialogWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="DialogWindow" Height="300" Width="300" WindowStartupLocation="CenterScreen" WindowStyle="ToolWindow" ShowInTaskbar="False">
   <!--Some content-->
</Windows>

这是显示第二个窗口的代码:

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        var dialogWindow = new DialogWindow();
        dialogWindow.ShowDialog();
    }

我该如何解决这个问题,并且仍然显示一个未在任务栏中显示的对话框窗口?

4

2 回答 2

6

我认为您应该将该DialogWindow.Owner属性设置为父窗口。请参阅此答案WPF:如何设置用户控件显示的对话框的所有者窗口?

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    var dialogWindow = new DialogWindow();
    dialogWindow.Owner = Window.GetWindow(this)
    dialogWindow.ShowDialog();
}

这应该DialogWindow始终将模态置于其父级之前。

于 2012-11-14T19:35:28.937 回答
0

设置TopMost=True为对话窗口。

于 2012-11-14T19:33:19.510 回答