ShowDialog заставляет окно приложения исчезать из списка Alt-Tab в Windows?

я новичок в WPF, и я пытаюсь открыть модальный диалог из моего главного окна:


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

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

и XAML для моего DataSearchWindow выглядит так:


<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)

Решение Вопроса

ение, пока диалог не будет закрыт. Поскольку WindowStyle установлен как ToolWindow, он не будет отображаться в Alt-Tab. Однако, если бы это было обычное окно, диалоговое окно появилось бы в Alt-Tab.

Обратите внимание, что это не проблема WPF - это согласуется, например, с приложением Windows Forms.

 akonsu21 сент. 2010 г., 15:39
Благодарю. да, это из-за диалога. нет, во всплывающем окне Alt-Tab ничего не отображается. Когда я нажимаю Alt-Tab в первый раз, там появляется главное окно, но когда я нажимаю его снова, оно исчезает, никаких следов моего приложения. RE: согласен: о, хорошо, я этого не знал. Спасибо!
 akonsu21 сент. 2010 г., 15:49
Благодарю. Я удалил стиль ToolWindow, и теперь он появляется. это будет работать
 Wonko the Sane21 сент. 2010 г., 15:45
Да, это потому, что ваш диалог настроен как окно инструментов (не заметил, что в первый раз - я обновлю свой ответ). Опять же, это согласуется с WinForms.
 user17119724 нояб. 2010 г., 04:29
Спасибо! У меня была ошибка, написанная для моего приложения Windows Forms. Изменение FormBorderStyle с SizableToolWindow на просто Sizable решило проблему.

Ваш ответ на вопрос