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


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

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

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

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

Эта тема описана в следующих разделах.

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

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

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

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

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

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

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

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

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

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

Справочные материалы

GetCurrentPropertyValue

GetCurrentPropertyValueEx

GetCachedPropertyValue

GetCachedPropertyValueEx

Концептуальный

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

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

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