Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Замечание
Эта документация предназначена для разработчиков .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 — Если параметр не является допустимым числом. |
См. также
- Обзор шаблонов управления автоматизацией пользовательского интерфейса
- Поддержка шаблонов управления в поставщике автоматизации пользовательского интерфейса
- Шаблоны элементов управления автоматизации пользовательского интерфейса для клиентов
- Обзор дерева автоматизации пользовательского интерфейса
- Использование кэширования в автоматизации пользовательского интерфейса