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