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


Реализация шаблона элемента управления 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

— Если параметр не является допустимым числом.

См. также