Можно ли иметь два или более активных модальных окна одновременно? - PullRequest
0 голосов
/ 30 апреля 2019

Я работаю над формой обратной связи в моем приложении. У этого также есть некоторые окна, которые должны быть модальными. Проблема в том, что пользователь не может открыть форму обратной связи, пока открыто одно из модальных окон. Так есть ли способ сделать форму обратной связи модальной и можно ли ее открывать и использовать вместе с другим модальным окном?

1 Ответ

1 голос
/ 30 апреля 2019

Да, при условии, что у вас есть только один активный за один раз:

    public MainWindow()
    {
        InitializeComponent();

        this.Loaded += (s1, e1) =>
        {
            var window1 = new Window();
            window1.Owner = this;
            window1.Content = new TextBlock { Text = "This is modal window 1" };

            window1.Loaded += (s2, e2) =>
            {
                var window2 = new Window();
                window2.Owner = window1;
                window2.Content = new TextBlock { Text = "This is modal window 2" };
                window2.ShowDialog();
            };

            window1.ShowDialog();
        };
    }
}

Этот конкретный код немного запутан, он просто демонстрирует, что это возможно.Если вы хотите более надежный пример, тогда посмотрите мою статью о реализации диалоговых окон в MVVM .

. Также можно установить window2.Owner в this и получить два активных модальных диалоговых окна.в то же время, но это означает, что вы должны полагаться на Alt-Tab или программный контроль для переключения между ними.Это почти наверняка не то поведение, которое вам нужно, но, опять же, это возможно в крайне редких случаях, когда вы захотите сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...