Поделиться через


Открытие окна или диалогового окна (WPF .NET)

Вы можете создать собственные окна и отобразить их в Windows Presentation Foundation (WPF). В этой статье вы узнаете, как отображать модальные и безрежимные окна и диалоговые окна.

Концептуально окно и диалоговое окно совпадают: они отображаются пользователю для предоставления информации или взаимодействия. Они оба объекта "окно". Дизайн окна и способ его использования — это то, что делает диалоговое окно. Диалоговое окно обычно небольшое по размеру и требует от пользователя ответить на него. Дополнительные сведения см. в обзоре окон WPF и диалоговых окон.

Если вы хотите открыть диалоговые окна операционной системы, см . статью "Как открыть общее диалоговое окно".

Открыть как модальный

При открытии модального окна обычно это диалоговое окно. WPF ограничивает взаимодействие модальным окном, а код, открывший окно, приостанавливается до закрытия окна. Этот механизм позволяет легко запрашивать пользователя с данными и ждать ответа.

ShowDialog Используйте метод для открытия окна. Следующий код создает экземпляр окна и открывает его модально. Код, открывающий окно, приостанавливается, ожидая закрытия окна:

var window = new Margins();

window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.ShowDialog()

Внимание

После закрытия окна один и тот же экземпляр объекта не может использоваться для повторного открытия окна.

Дополнительные сведения о том, как обрабатывать ответ пользователя на диалоговое окно, см . в обзоре диалоговых окон: обработка ответа.

Открытие в режиме без режима

Открытие окна без режима означает отображение его как обычное окно. Код, открывающий окно, продолжает выполняться по мере того, как окно становится видимым. Вы можете сосредоточиться и взаимодействовать со всеми бессерверными окнами, отображаемыми приложением без ограничений.

Show Используйте метод для открытия окна. Следующий код создает экземпляр окна и открывает его без режима. Код, открывающий окно, продолжает выполняться:

var window = new Margins();

window.Owner = this;
window.Show();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.Show()

Внимание

После закрытия окна один и тот же экземпляр объекта не может использоваться для повторного открытия окна.

См. также