Классические элементы пользовательского интерфейса в Windows Presentation Foundation. Шамшев Ан. Б. - 57 стр.

UptoLike

Составители: 

56
dowStateChanged, которые вызываются при изменении позиции и состоя-
ния окна соответственно.
5.2. Отображение окна
Чтобы отобразить окно, необходимо создать экземпляр класса Win-
dow и вызвать метод Show() или ShowDialog(). Метод ShowDialog() отоб-
ражает модальное окно. Модальные окна не позволяют пользователю по-
лучать доступ к родительскому окну, блокируя возможность использо-
вания в нем мыши и возможность ввода в нем каких-либо данных до тех
пор, пока модальное окно не будет закрыто. К тому же метод
ShowDialog() не осуществляет возврат до тех пор, пока модальное окно не
будет закрыто, поэтому выполнение любого находящего после него кода
на время откладывается. Отметим, что это не означает, что при открытом
модальном окне не может выполняться и никакой другой код, например,
параллельно исполняемый поток кода все равно будет работать. Наиболее
часто применяемая в коде схема выглядит следующим образом: отобра-
жение модального окна, ожидание его закрытия и последующее выполне-
ние над его данными какой-нибудь операции.
Ниже показан пример использования метода ShowDialog():
TaskWindow winTask = new TaskWindow();
winTask.ShowDialog();
// Выполнение достигает этой точки после закрытия winTask.
Метод Show() отображает немодальное окно, которое не блокирует
доступ пользователя ни к каким другим окнам. Также следует учитывать,
что метод Show() осуществляет возврат сразу же после отображения окна,
так что следующие после него в коде операторы выполняются незамедли-
тельно. Можно создавать и показывать сразу несколько немодальных
окон, и пользователь может взаимодействовать со всеми ними одновре-
менно. В случае применения нескольких немодальных окон иногда требу-
ется код синхронизации, гарантирующий синхронность изменений и адек-
ватность информации во всех окнах, исключая вероятность работы поль-
зователя с недействительными данными.