Общие сведения о свойствах автоматизированного пользовательского интерфейса

Поставщики Microsoft модель автоматизации пользовательского интерфейса предоставляют свойства для модель автоматизации пользовательского интерфейса элементов. Свойства позволяют клиентским приложениям получать сведения об элементах управления.

модель автоматизации пользовательского интерфейса предоставляет два разных типа свойств: свойства элементов автоматизации и свойства шаблонов элементов управления. Свойства элемента автоматизации состоят из общего набора свойств, таких как Name, AcceleratorKey и ClassName, которые предоставляются всеми элементами модель автоматизации пользовательского интерфейса независимо от типа элемента управления. Большинство свойств элементов автоматизации являются статическими значениями.

Свойства шаблона элемента управления — это свойства, предоставляемые элементом управления, поддерживающим определенный шаблон элемента управления. Каждый шаблон элемента управления имеет соответствующий набор свойств шаблона элемента управления, которые должен предоставлять элемент управления. Например, элемент управления, поддерживающий шаблон элемента управления Grid , предоставляет свойства ColumnCount и RowCount. Большинство свойств шаблона элемента управления являются динамическими значениями.

В этом разделе содержатся следующие подразделы.

Идентификаторы свойств

Каждое свойство идентифицируется числовым значением PROPERTYID , которое называется идентификатором свойства (ID). Поставщики и клиенты используют числовые идентификаторы в вызовах методов, таких как IRawElementProviderAdviseEvents::AdviseEventAdded и IUIAutomationElement::GetCachedPropertyValue , для идентификации запросов свойств. Подробное описание каждого идентификатора свойства модель автоматизации пользовательского интерфейса, включая тип данных и значение по умолчанию каждого свойства, см. в разделе Идентификаторы свойств.

Значения свойств

Все свойства доступны только для чтения, хотя некоторые из них можно изменить с помощью методов, которые работают с элементом управления, например IDockProvider::SetDockPosition (поставщик) или IUIAutomationDockPattern::SetDockPosition (клиент).

Сведения о получении значений свойств см. в разделе Извлечение свойств из элементов модель автоматизации пользовательского интерфейса.

Свойства и события

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

Поставщики вызывают события при изменении чего-либо в пользовательском интерфейсе. Например, если выбрано или очищено поле проверка, событие изменения свойства вызывается реализацией поставщика шаблона элемента управления Toggle. Поставщики могут вызывать события выборочно, в зависимости от наличия клиентов, прослушивающих события или прослушивающих определенные события.

Не все изменения свойств порождают события; это полностью зависит от реализации поставщика автоматизации пользовательского интерфейса для элемента. Например, стандартные прокси-поставщики для списков не вызывают событие изменения свойства при изменении свойства Selection. В этом случае приложение должно прослушивать событие, возникающее при изменении выбора (UIA_SelectionItem_ElementSelectedEventId).

Клиенты прослушивают события, подписавшись на них, как описано в разделе Подписка на события модель автоматизации пользовательского интерфейса. В частности, для событий изменения свойств клиенты должны реализовать IUIAutomationPropertyChangedEventHandler и передать интерфейс в IUIAutomation::AddPropertyChangedEventHandler или IUIAutomation::AddPropertyChangedEventHandlerNativeArray.

Reference

GetCurrentPropertyValue

GetCurrentPropertyValueEx

GetCachedPropertyValue

GetCachedPropertyValueEx

Основные понятия

Общие сведения о шаблонах элементов управления модели автоматизации пользовательского интерфейса

Общие сведения о типах элементов управления автоматизации пользовательского интерфейса

Обзор событий автоматизации пользовательского интерфейса