Общие сведения о свойствах автоматизированного пользовательского интерфейса
Примечание.
Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в статье API автоматизации Windows. Автоматизация пользовательского интерфейса.
модель автоматизации пользовательского интерфейса поставщики предоставляют свойства в элементах Microsoft модель автоматизации пользовательского интерфейса. Эти свойства позволяют модель автоматизации пользовательского интерфейса клиентским приложениям обнаруживать сведения о элементах пользовательского интерфейса, особенно элементах управления, включая статические и динамические данные.
В этом разделе представлен широкий обзор свойств Microsoft модель автоматизации пользовательского интерфейса. Более конкретные сведения даются в следующих разделах:
Свойства автоматизации пользовательского интерфейса для клиентов
Реализация поставщика автоматизации пользовательского интерфейса на стороне сервера
Идентификаторы свойств
Каждое свойство определяется номером и именем. Имена свойств используются только для отладки и диагностики. Поставщики используют числовые идентификаторы для идентификации входящих запросов свойств. Однако клиентские приложения используют для идентификации свойств, которые им требуется получить, только ссылку AutomationProperty, которая включает номер и имя.
ОбъектыAutomationProperty , представляющие конкретные свойства, доступны как поля в различных классах. По соображениям безопасности поставщики автоматизации пользовательского интерфейса получают эти объекты из отдельного набора классов, содержащихся в Uiautomationtypes.dll.
В следующей таблице классы классы, содержащие AutomationPropertyидентификаторы.
Виды свойств | Клиенты получают идентификаторы из | Поставщики получают идентификаторы из |
---|---|---|
Свойства, общие для всех элементов (см. следующие таблицы) | AutomationElement | AutomationElementIdentifiers |
Положение закрепленного окна | DockPattern | DockPatternIdentifiers |
Состояние элемента, который можно разворачивать и сворачивать | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
Свойства элемента в сетке | GridItemPattern | GridItemPatternIdentifiers |
Свойства сетки | GridPattern | GridPatternIdentifiers |
Текущее и поддерживаемое представление элемента, который имеет несколько представлений | MultipleViewPattern | MultipleViewPatternIdentifiers |
Свойства элемента, который перемещается по диапазону значений, такого как ползунок | RangeValuePattern | RangeValuePatternIdentifiers |
Свойства прокручиваемого окна | ScrollPattern | ScrollPatternIdentifiers |
Состояние и контейнер элемента, который может быть выбран, например в списке | SelectionItemPattern | SelectionItemPatternIdentifiers |
Свойства элемента управления, содержащего элементы выделения | SelectionPattern | SelectionPatternIdentifiers |
Заголовки столбцов и строк элемента в таблице | TableItemPattern | TableItemPatternIdentifiers |
Заголовки столбцов и строк, а также ориентация таблицы | TablePattern | TablePatternIdentifiers |
Состояние элемента управления "Переключатель" | TogglePattern | TogglePatternIdentifiers |
Возможности элемента, который поддерживает перемещение, поворот или изменение размера | TransformPattern | TransformPatternIdentifiers |
Значение и возможности чтения/записи элемента, который имеет значение | ValuePattern | ValuePatternIdentifiers |
Возможности и состояние окна | WindowPattern | WindowPatternIdentifiers |
Свойства, упорядоченные по категориям
В следующих таблицах классифицируются свойства, идентификаторы которых находятся в AutomationElement и AutomationElementIdentifiers. Эти свойства являются общими для всех элементов управления. Почти все из них, скорее всего, будут статическими во время существования приложения поставщика; большинство динамических свойств связано с шаблонами элементов управления.
В столбце Доступ к свойству перечислены другие методы доступа для каждого свойства, в дополнение к GetCurrentPropertyValue и GetCachedPropertyValue. Дополнительные сведения о получении свойств в клиентском приложении см. в разделе UI Automation Properties for Clients.
Примечание.
Чтобы получить сведения о конкретном свойстве, используйте ссылку в столбце Доступ к свойству .
Характеристики отображения
Идентификатор свойства | Доступ к свойству |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | Н/Д |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
Тип элемента
Идентификатор свойства | Доступ к свойству |
---|---|
ControlTypeProperty | ControlType |
IsContentElementProperty | IsContentElement |
IsControlElementProperty | IsControlElement |
ItemTypeProperty | ItemType |
LocalizedControlTypeProperty | LocalizedControlType |
Идентификация
Взаимодействие
Поддержка шаблонов
Разное
Идентификатор свойства | Доступ к свойству |
---|---|
IsRequiredForFormProperty | IsRequiredForForm |
IsPasswordProperty | IsPassword |
ItemStatusProperty | ItemStatus |
Локализация
поставщики модель автоматизации пользовательского интерфейса должны представлять следующие свойства на языке операционной системы:
Свойства и события
Тесно связан со свойствами в модель автоматизации пользовательского интерфейса — это концепция событий, измененных свойств. Для динамических свойств клиентскому приложению требуется способ узнать об изменении значения свойства, чтобы оно могло обновить свой кэш данных или отреагировать на новые сведения другим способом.
Поставщики вызывают события, когда что-то в пользовательском интерфейсе изменяется. Например, если флажок устанавливается или снимается, реализация поставщика шаблона Toggle вызывает событие изменения свойства. Поставщики могут вызывать события выборочно, в зависимости от наличия клиентов, прослушивающих события или прослушивающих определенные события.
Не все изменения свойств порождают события; это полностью зависит от реализации поставщика автоматизации пользовательского интерфейса для элемента. Например, поставщики стандартных прокси для списков не вызывают событие, когда изменяется SelectionProperty . В этом случае приложение должно прослушивать ElementSelectedEvent.
Клиенты прослушивают события, подписавшись на их. Подписка на события означает создание методов делегата, которые могут обрабатывать события, а затем передавать методы в модель автоматизации пользовательского интерфейса вместе с конкретными событиями, которые будут рассмотрены в этих методах. В частности, для событий изменения свойств клиенты должны реализовать AutomationPropertyChangedEventHandler.
См. также
- Кэширование в клиентах автоматизации пользовательского интерфейса
- Свойства автоматизации пользовательского интерфейса для клиентов
- Реализация поставщика автоматизации пользовательского интерфейса на стороне сервера
- Нахождение элемента модели автоматизации пользовательского интерфейса в зависимости от состояния свойства
- Возврат свойств от поставщика автоматизации пользовательского интерфейса
- Вызов событий из поставщика автоматизации пользовательского интерфейса