Как создать модальное окно? - PullRequest
2 голосов
/ 05 февраля 2012

Я новичок в C # и WPF.Я хочу открыть новое окно и полностью остаться в этом окне, блокируя родительский объект, т.е. что-то похожее на MessageBox

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

    void OnClose(object sender, ExecutedRoutedEventArgs args)
    {
        //this.IsEnabled = true;
        ConfirmClose cc = new ConfirmClose();
        this.IsEnabled = false;
        cc.Show();
        cc.Focus();
 // How can I wait here until the windows cc has closed
        this.IsEnabled = true;


    }

1 Ответ

10 голосов
/ 05 февраля 2012

Вместо .Show() используйте .ShowDialog(), тогда пользователь не сможет вернуться в родительское окно, пока он не закроет форму, например:

 ConfirmClose cc = new ConfirmClose();
 cc.ShowDialog();

Предполагая, что ConfirmClose является System.Windows.

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