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

Примечание.

Эта документация предназначена для разработчиков .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

Идентификация

Идентификатор свойства Доступ к свойству
AutomationIdProperty AutomationId
ClassNameProperty ClassName
FrameworkIdProperty FrameworkId
LabeledByProperty LabeledBy
NameProperty Name
ProcessIdProperty ProcessId
RuntimeIdProperty GetRuntimeId
NativeWindowHandleProperty NativeWindowHandle

Взаимодействие

Идентификатор свойства Доступ к свойству
AcceleratorKeyProperty AcceleratorKey
AccessKeyProperty AccessKey
ClickablePointProperty GetClickablePoint
HasKeyboardFocusProperty HasKeyboardFocus
IsEnabledProperty IsEnabled
IsKeyboardFocusableProperty IsKeyboardFocusable

Поддержка шаблонов

Идентификатор свойства Доступ к свойству
IsDockPatternAvailableProperty GetSupportedPatterns
IsExpandCollapsePatternAvailableProperty GetSupportedPatterns
IsGridItemPatternAvailableProperty GetSupportedPatterns
IsGridPatternAvailableProperty GetSupportedPatterns
IsInvokePatternAvailableProperty GetSupportedPatterns
IsMultipleViewPatternAvailableProperty GetSupportedPatterns
IsRangeValuePatternAvailableProperty GetSupportedPatterns
IsScrollItemPatternAvailableProperty GetSupportedPatterns
IsScrollPatternAvailableProperty GetSupportedPatterns
IsSelectionItemPatternAvailableProperty GetSupportedPatterns
IsSelectionPatternAvailableProperty GetSupportedPatterns
IsTableItemPatternAvailableProperty GetSupportedPatterns
IsTablePatternAvailableProperty GetSupportedPatterns
IsTextPatternAvailableProperty GetSupportedPatterns
IsTogglePatternAvailableProperty GetSupportedPatterns
IsTransformPatternAvailableProperty GetSupportedPatterns
IsValuePatternAvailableProperty GetSupportedPatterns
IsWindowPatternAvailableProperty GetSupportedPatterns

Разное

Идентификатор свойства Доступ к свойству
IsRequiredForFormProperty IsRequiredForForm
IsPasswordProperty IsPassword
ItemStatusProperty ItemStatus

Локализация

поставщики модель автоматизации пользовательского интерфейса должны представлять следующие свойства на языке операционной системы:

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

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

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

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

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

См. также