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


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

Замечание

Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.

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

В этом разделе представлен широкий обзор свойств службы автоматизации пользовательского интерфейса Майкрософт. Дополнительные сведения приведены в следующих разделах:

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

Каждое свойство определяется числом и именем. Имена свойств используются только для отладки и диагностики. Поставщики используют числовые идентификаторы для идентификации входящих запросов свойств. Однако клиентские приложения используют 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. Дополнительные сведения о получении свойств в клиентском приложении см. в разделе "Свойства автоматизации пользовательского интерфейса для клиентов".

Замечание

Для получения конкретных сведений о каждом свойстве перейдите по ссылке в столбце Property Access .

Характеристики отображения

Идентификатор свойства Доступ к свойствам
BoundingRectangleProperty BoundingRectangle
CultureProperty n/a
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

Локализация

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

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

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

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

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

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

См. также