Общие сведения о свойствах автоматизированного пользовательского интерфейса
![]() |
---|
Эта документация предназначена для разработчиков на платформе .NET Framework, которым требуется использовать управляемые классы UI Automation, определенные в пространстве имен System.Windows.Automation.Последние сведения о UI Automation см. на веб-странице Windows Automation API: UI Automation. |
Поставщики автоматизированного пользовательского интерфейса предоставляют свойства элементов Microsoft UI Automation. Эти свойства позволяют приложениям клиента автоматизированного пользовательского интерфейса получать сведения о частях user interface (UI), особенно элементах управления, в том числе статические и динамических данные.
В этом разделе содержатся следующие подразделы.
- Идентификаторы свойств
- Свойства, упорядоченные по категориям
- Локализация
- Свойства и события
- Связанные разделы
В этом разделе приведен широкий обзор свойств Microsoft UI Automation. Более конкретные сведения дается в следующих разделах:
Свойства автоматизации пользовательского интерфейса для клиентов
Реализация поставщика автоматизации пользовательского интерфейса на стороне сервера
Идентификаторы свойств
Каждое свойство определяется номером и именем. Имена свойств, используются только для отладки и диагностики. Поставщики используют числовые идентификаторы IDs для определения входящих запросов свойства. Однако клиентские приложения для идентификации извлекаемого свойства используют только AutomationProperty, который инкапсулирует номер и имя.
Объекты AutomationProperty, представляющие конкретные свойства, доступны в качестве полей различных классов. По соображениям безопасности поставщики автоматизированного пользовательского интерфейса получают эти объекты из набора отдельных классов, содержащихся в Uiautomationtypes.dll.
В следующей таблице свойства распределены по классам, содержащим AutomationProperty IDs.
Типы свойств |
Клиенты получают идентификаторы из |
Поставщики получают идентификаторы из |
---|---|---|
Свойства, общие для всех элементов (см. следующие таблицы) |
||
Положение стыкующегося окна |
||
Состояние элемента, который можно разворачивать и сворачивать |
||
Свойства элемента в сетке |
||
Свойства сетки |
||
Текущие и поддерживаемые виды элемента, который имеет несколько представлений |
||
Свойства элемента, имеющего диапазон значений, такого как ползунок |
||
Свойства прокрутки окна |
||
Состояние и контейнер элемента, который может быть выбран, как в списке |
||
Свойства элемента управления, содержащего элементы выделения |
||
Заголовки столбцов и строк элементов в таблице |
||
Заголовки столбцов и строк и ориентация таблицы |
||
Состояние элемента управления переключателем |
||
Возможности элемента, который может быть перемещен, повернут или изменен в размерах |
||
Значение и возможности чтения или записи элемента, который имеет значение |
||
Возможности и состояние окна |
Свойства, упорядоченные по категориям
В следующей таблице перечислены свойства, у которых идентификаторы IDs находятся в AutomationElement и AutomationElementIdentifiers. Эти свойства являются общими для всех элементов управления. Все из них, за небольшим исключением, вероятно будут статическими во время существования приложения поставщика; большинство динамических свойств связаны с шаблоном элемента управления.
В столбце Доступ к свойствам перечислены все другие методы доступа для каждого свойства в дополнение к GetCurrentPropertyValue и GetCachedPropertyValue. Дополнительные сведения о получении свойств в клиентском приложении см. в разделе Свойства автоматизации пользовательского интерфейса для клиентов.
![]() |
---|
Для получения подробных сведений о каждом свойстве воспользуйтесь ссылкой в столбце Доступ к свойству. |
Характеристики отображения
Идентификатор свойства |
Доступ к свойству |
---|---|
нет |
|
Тип элемента
Идентификатор свойства |
Доступ к свойству |
---|---|
Идентификация
Идентификатор свойства |
Доступ к свойству |
---|---|
Взаимодействие
Идентификатор свойства |
Доступ к свойству |
---|---|
Поддержка шаблонов
Идентификатор свойства |
Доступ к свойству |
---|---|
Прочее
Идентификатор свойства |
Доступ к свойству |
---|---|
Локализация
Поставщики UI Automation должны представить следующие свойства в языке операционной системы:
Свойства и события
Тесная связь со свойствами в UI Automation является основным понятием событий изменения свойств. Для динамических свойств клиентскому приложению требуется способ для определения того, что значение свойства было изменено, чтобы приложение могло обновить свой кэш данных или отреагировать на новые сведения каким-либо другим способом.
Поставщики вызывают события, когда что-нибудь в UI изменяется. Например, если флажок установлен или снят, реализацией поставщика шаблона переключателя будет вызвано событие изменения свойства. Поставщики могут вызывать события выборочно, в зависимости от того, есть ли клиенты, прослушивающие события, или при прослушивании конкретных событий.
Не все изменения свойств порождают события; это полностью зависит от реализации поставщика автоматизированного пользовательского интерфейса для элемента. Например, стандартные прокси-поставщики для списка не вызывают событие при изменении свойства SelectionProperty. В этом случае приложение должно прослушивать событие ElementSelectedEvent.
Клиенты прослушивают события с помощью подписки на них. Подписка на события означает создание методов делегата, которые обрабатывают события, и затем передачу методов в UI Automation вместе с конкретными событиями, которые будут обработаны в этих методах. В частности, для событий изменения свойств клиенты должны реализовывать обработчик AutomationPropertyChangedEventHandler.
См. также
Задачи
Нахождение Элемента Автоматизации Пользовательского Интерфейса в Зависимости от Состояния Свойства
Возврат свойств от поставщика автоматизации пользовательского интерфейса
Вызов событий из поставщика автоматизации пользовательского интерфейса
Основные понятия
Кэширование в клиентах автоматизации пользовательского интерфейса
Свойства автоматизации пользовательского интерфейса для клиентов
Реализация поставщика автоматизации пользовательского интерфейса на стороне сервера