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


Реализация шаблона управления окном автоматизации интерфейса пользователя

Замечание

Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.

В этом разделе даются рекомендации и устанавливаются соглашения для реализации IWindowProvider, а также предоставляется информация о свойствах, методах и событиях WindowPattern. Ссылки на дополнительные материалы перечислены в конце раздела.

Шаблон WindowPattern элемента управления используется для поддержки элементов управления, которые обеспечивают основные функциональные возможности на основе окон в традиционном графическом пользовательском интерфейсе (GUI). Примеры элементов управления, которые должны реализовать этот шаблон элемента управления, включают окна приложений верхнего уровня, дочерние окна с несколькими документами (MDI), изменяемые элементы управления разделенными панелями, модальные диалоги и окна справки по воздушным шарам.

Рекомендации по реализации и соглашения

При реализации шаблона элемента управления Window обратите внимание на следующие рекомендации и соглашения:

  • Для поддержки возможности изменения размера окна и положения экрана с помощью UI Automation элемент управления должен реализовывать ITransformProvider в дополнение к IWindowProvider.

  • Элементы управления, содержащие заголовки и элементы строки заголовка, позволяющие перемещать, масштабировать, максимизировать, свертывать или закрывать, обычно требуются для реализации IWindowProvider.

  • Такие элементы управления, как всплывающие подсказки и поле со списком или раскрывающийся список в меню, обычно не реализуют IWindowProvider.

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

  • Полноэкранный режим не поддерживается IWindowProvider, так как он предназначен для приложения и не является типичным поведением окна.

Обязательные члены для IWindowProvider

Для интерфейса IWindowProvider требуются следующие свойства, методы и события.

Обязательный член Тип участника Примечания.
InteractionState Недвижимость Отсутствует
IsModal Недвижимость Отсутствует
IsTopmost Недвижимость Отсутствует
Maximizable Недвижимость Отсутствует
Minimizable Недвижимость Отсутствует
VisualState Недвижимость Отсутствует
Close Метод Отсутствует
SetVisualState Метод Отсутствует
WaitForInputIdle Метод Отсутствует
WindowClosedEvent Событие Отсутствует
WindowOpenedEvent Событие Отсутствует
WindowInteractionState Событие Не гарантируется, что это ReadyForUserInteraction

Исключения

Поставщики должны генерировать следующие исключения.

Тип исключения Состояние
InvalidOperationException SetVisualState

— Если элемент управления не поддерживает запрошенное поведение.
ArgumentOutOfRangeException WaitForInputIdle

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

См. также