ShowDialog使应用程序窗口从Windows的Alt-Tab列表中消失?

时间:2010-09-21 13:10:24

标签: wpf

我是WPF新手,我正在尝试从主窗口中打开一个模态对话框:


public partial class MainWindow : Window
{
    protected void OpenCommandExecuted(object target, ExecutedRoutedEventArgs e)
    {
        DataSearchWindow w = new DataSearchWindow();

        w.Owner = this;
        w.ShowDialog();
    }
    ...
}

和我的DataSearchWindow的XAML如下所示:


<Window x:Class="DataSearchWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        ShowInTaskbar='False'
        WindowStartupLocation='CenterOwner'
        WindowStyle='ToolWindow'
        ...>
...
</Window>

一切正常,直到我按Alt-Tab切换到另一个应用程序。当我这样做时,我的应用程序从按下Alt-Tab时显示的列表中消失。它仍然在任务栏中,我可以使用鼠标返回它,而不是使用Alt-Tab。有没有人见过这个?

康斯坦丁

1 个答案:

答案 0 :(得分:8)

这是因为模式对话框 - 在对话框关闭之前,您不能将Alt-Tab重新选回应用程序。由于WindowStyle设置为ToolWindow,因此它不会显示在Alt-Tab中。但是,如果它是常规窗口,则对话框窗口将显示在Alt-Tab中。

请注意,这不是WPF问题 - 例如,它与Windows窗体应用程序一致。