Реализация шаблона элемента управления Window автоматизированного пользовательского интерфейса
Примечание.
Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в статье API автоматизации Windows. Автоматизация пользовательского интерфейса.
В этом разделе приводятся рекомендации и соглашения для реализации IWindowProvider, включая сведения о свойствах, методах и событиях WindowPattern . Ссылки на дополнительные материалы перечислены в конце раздела.
Шаблон WindowPattern элемента управления используется для поддержки элементов управления, которые обеспечивают основные функциональные возможности на основе окон в традиционном графическом пользовательском интерфейсе (GUI). Примеры элементов управления, которые должны реализовать этот шаблон элемента управления, включают окна приложений верхнего уровня, дочерние окна с несколькими документами (MDI), изменяемые элементы управления разделенными панелями, модальные диалоги и окна справки по воздушным шарам.
Правила и соглашения реализации
При реализации шаблона элемента управления Window обратите внимание на следующие правила и соглашения.
Для поддержки возможности изменения размера окна и его положения на экране с помощью модели автоматизации пользовательского интерфейса элемент управления должен реализовать ITransformProvider в дополнение к IWindowProvider.
Элементы управления, содержащие заголовки окон и элементы этих заголовков, позволяющие перемещать, разворачивать, сворачивать, закрывать элемент управления или изменять его размер, обычно должны реализовывать IWindowProvider.
Такие элементы управления, как всплывающие подсказки, поля со списком или раскрывающиеся меню, обычно не реализуют IWindowProvider.
Окна всплывающей справки отличаются от обычных всплывающих подсказок тем, что предоставляют кнопку закрытия окна.
IWindowProvider не поддерживает полноэкранный режим, так как он зависит от компонентов в приложении и не является типичным поведением окна.
Обязательные члены для IWindowProvider
Следующие свойства, методы и события обязательны для реализации интерфейса IWindowProvider.
Обязательный член | Тип члена | Примечания. |
---|---|---|
InteractionState | Свойство | нет |
IsModal | Свойство | нет |
IsTopmost | Свойство | нет |
Maximizable | Свойство | нет |
Minimizable | Свойство | нет |
VisualState | Свойство | нет |
Close | Способ | нет |
SetVisualState | Способ | нет |
WaitForInputIdle | Способ | нет |
WindowClosedEvent | Событие | нет |
WindowOpenedEvent | Событие | нет |
WindowInteractionState | Событие | Не гарантируется, что будет ReadyForUserInteraction |
Исключения
Поставщики должны вызывать следующие исключения.
Тип исключения | Condition |
---|---|
InvalidOperationException | SetVisualState — Если элемент управления не поддерживает запрошенное поведение. |
ArgumentOutOfRangeException | WaitForInputIdle — Если параметр не является допустимым числом. |
См. также
- Общие сведения о шаблонах элементов управления модели автоматизации пользовательского интерфейса
- Поддержка шаблонов элементов управления в поставщике автоматизации пользовательского интерфейса
- Шаблоны элементов управления модели автоматизации пользовательского интерфейса для клиентов
- Общие сведения о дереве модели автоматизации пользовательского интерфейса
- Использование кэширования в модели автоматизации пользовательского интерфейса