Обзор событий автоматизации пользовательского интерфейса
Примечание.
Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в статье API автоматизации Windows. Автоматизация пользовательского интерфейса.
Уведомление о событиях Microsoft модель автоматизации пользовательского интерфейса — это ключевая функция для вспомогательных технологий, таких как средства чтения с экрана и экранные лупы. Эти модель автоматизации пользовательского интерфейса клиенты отслеживают события, создаваемые поставщиками модель автоматизации пользовательского интерфейса, когда что-то происходит в пользовательском интерфейсе и используют информацию для уведомления конечных пользователей.
Повысить эффективность можно, позволяя приложениям поставщика вызывать события выборочно в зависимости от того, было ли все клиенты подписаны на эти события или прослушивают ли клиенты события.
Типы событий
модель автоматизации пользовательского интерфейса события делятся на следующие категории.
Мероприятие | Description |
---|---|
Изменение свойства | Вызывается при изменении свойства в элементе модель автоматизации пользовательского интерфейса или шаблоне элемента управления. Например, если клиент должен отслеживать элемент управления "Флажок" приложения, он может зарегистрироваться для прослушивания события изменения свойства ToggleState . Когда флажок устанавливается или снимается, поставщик вызывает событие и клиент может выполнить необходимые действия. |
Действие элемента | Возникает при изменении пользовательского интерфейса из конечных пользователей или программных действий; например, когда кнопка нажимается или вызывается.InvokePattern |
Изменение структуры | Вызывается при изменении структуры дерева модель автоматизации пользовательского интерфейса. Структура изменяется, когда новые элементы пользовательского интерфейса становятся видимыми, скрытыми или удаленными на рабочем столе. |
Глобальное изменение рабочего стола | Вызывается, когда выполняются глобальные действия для клиента, например когда фокус переходит от одного элемента к другому или при закрытии окна. |
Некоторые события необязательно означают, что состояние пользовательского интерфейса изменилось. Например, если пользователь переходит к полю ввода текста и затем нажимает кнопку для обновления поля, возникает событие TextChangedEvent
, даже если пользователь фактически не изменил текст. При обработке события клиентскому приложению может потребоваться проверить, действительно ли что-либо изменилось, перед выполнением действия.
Следующие события могут возникать, даже если состояние пользовательского интерфейса не изменилось.
AutomationPropertyChangedEvent
(в зависимости от измененного свойства)ElementSelectedEvent
InvalidatedEvent
TextChangedEvent
Идентификаторы событий автоматизации пользовательского интерфейса
События Microsoft модель автоматизации пользовательского интерфейса определяются объектамиAutomationEvent. Свойство Id содержит значение, которое однозначно определяет тип события.
Возможные значения параметра Id приведены в следующей таблице вместе с типом, используемым для аргументов событий. Обратите внимание, что идентификаторы, используемые клиентами и поставщиками, идентичны именованным полям из различных классов.
Аргументы событий автоматизации пользовательского интерфейса
Следующие классы инкапсулируют аргументы событий.
Класс | Description |
---|---|
AsyncContentLoadedEventArgs | Содержит сведения об асинхронной загрузке содержимого, включая процент завершения загрузки. |
AutomationEventArgs | Содержит сведения о простом событии, не требующем дополнительных данных. |
AutomationFocusChangedEventArgs | Содержит сведения об изменении фокуса ввода с одного элемента на другой. События этого типа вызываются системой модель автоматизации пользовательского интерфейса, а не поставщиками. |
AutomationPropertyChangedEventArgs | Содержит сведения об изменении значения свойства элемента или шаблона элемента управления. |
StructureChangedEventArgs | Содержит сведения об изменении в дереве модель автоматизации пользовательского интерфейса. |
WindowClosedEventArgs | Содержит сведения о закрытии окна. |
Все классы аргументов событий содержат элемент EventId . Этот идентификатор инкапсулируется в AutomationEvent.
Объекты AutomationEvent , используемые для идентификации событий, извлекаются поставщиками из полей в AutomationElementIdentifiers и классов идентификатора шаблона элементов управления, таких как DockPatternIdentifiers. Эквивалентные поля извлекаются клиентскими приложениями из полей в AutomationElement и классов шаблонов элементов управления, таких как DockPattern.
Список идентификаторов событий см. в разделе UI Automation Events for Clients.