Raú*_*año 3 c# wpf taskbar dialog
当您处于以下情况时会发生这样的问题: - 在我的应用程序中有一个主窗口 - 我创建了另一个未在任务栏中显示的窗口,并且是一个工具窗口. - 我将第二个窗口显示为对话窗口(从主窗口) - 我切换到我系统中运行的另一个应用程序,当我回到应用程序时,显示主窗口,但它被第二个窗口锁定,没有表现出来.
这是第二个窗口的代码:
<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>
Run Code Online (Sandbox Code Playgroud)
这是显示第二个窗口的代码:
private void Button_Click_1(object sender, RoutedEventArgs e)
{
var dialogWindow = new DialogWindow();
dialogWindow.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
我如何解决这个问题,仍然显示一个没有在任务栏中显示的对话框窗口?
我认为你应该将DialogWindow.Owner属性设置为父窗口.请参阅此答案WPF:如何设置UserControl显示的对话框的所有者窗口?
private void Button_Click_1(object sender, RoutedEventArgs e)
{
var dialogWindow = new DialogWindow();
dialogWindow.Owner = Window.GetWindow(this)
dialogWindow.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
这应该DialogWindow始终将模态放在其父级之前.