WPF-эквивалент Form.ShowDialog (IWin32Window) - PullRequest
1 голос
/ 17 августа 2011

В WPF у нас есть Window.ShowDialog(), что позволяет отображать модальное диалоговое окно.

В WinForms есть аналогичная функциональность, но она также имеет перегрузку Form.ShowDialog(IWin32Window), которая позволяет передавать IWin32Window owner. Таким образом, новый диалог не является модальным и всегда поддерживает z- заказывайте прямо над его владельцем.

Как бы я получил такую ​​же функциональность, используя WPF?

Ответы [ 2 ]

3 голосов
/ 17 августа 2011

Используйте свойство Владелец в Window.

1 голос
/ 17 августа 2011

Подробнее @ Jonathan.Peppers ответ:

Скажем, у вас есть окно, которое вы назвали FooWindow, а в BarWindow.cs вы хотели создать и выполнить экземпляр. Вы можете создать модальную версию FooWindow так просто:

new FooWindow(){ Owner = this }.ShowDialog();

Это предполагает, что вам не нужна ссылка на ваш экземпляр, очевидно, но вы поняли идею?

...