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

Примечание.

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

Microsoft модель автоматизации пользовательского интерфейса — это новая платформа специальных возможностей для Microsoft Windows, доступная во всех операционных системах, поддерживающих Windows Presentation Foundation (WPF).

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

Примечание.

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

Клиентские приложения модели автоматизации пользовательского интерфейса могут быть написаны с гарантией того, что они будут работать в разных средах. Модель автоматизации пользовательского интерфейса ядра маскирует любые различия в платформах, которые лежат в основе различных элементов пользовательского интерфейса. Например, Content свойство кнопки WPF, Caption свойство кнопки Win32 и ALT свойство HTML-изображения сопоставляются с одним свойством Nameв представлении модель автоматизации пользовательского интерфейса.

модель автоматизации пользовательского интерфейса предоставляет полную функциональность в поддерживаемых операционных системах Windows с платформа .NET Framework (см. платформа .NET Framework системные требования или версии .NET Core, начиная с .NET Core 3.0.

модель автоматизации пользовательского интерфейса поставщики предлагают некоторую поддержку клиентских приложений Microsoft Active Accessibility через встроенную службу бриджинга.

Поставщики и клиенты

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

Компонент Description
API поставщика (UIAutomationProvider.dll и UIAutomationTypes.dll) Набор определений интерфейса, реализованных поставщиками модель автоматизации пользовательского интерфейса, объектами, предоставляющими сведения об элементах пользовательского интерфейса и реагирующих на программные входные данные.
API клиента (UIAutomationClient.dll и UIAutomationTypes.dll) Набор типов для управляемого кода, который позволяет модель автоматизации пользовательского интерфейса клиентским приложениям получать сведения о пользовательском интерфейсе и отправлять входные данные элементам управления.
UiAutomationCore.dll Базовый код (иногда называемый модель автоматизации пользовательского интерфейса ядром), который обрабатывает обмен данными между поставщиками и клиентами.
UIAutomationClientsideProviders.dll Набор поставщиков автоматизации пользовательского интерфейса для стандартных элементов управления прежних версий. (Элементы управления WPF имеют встроенную поддержку для модель автоматизации пользовательского интерфейса.) Эта поддержка автоматически доступна клиентским приложениям.

С точки зрения разработчика программного обеспечения существует два способа использования модель автоматизации пользовательского интерфейса: создание поддержки пользовательских элементов управления (с помощью API поставщика) и создание приложений, использующих модель автоматизации пользовательского интерфейса ядро для взаимодействия с элементами пользовательского интерфейса (с помощью клиента API). В зависимости от ключевых целей вы должны обращаться к разным частям документации. В следующих разделах вы можете подробнее ознакомиться с основными понятиями и получить практические знания.

Раздел Предмет рассмотрения Аудитория
основы модель автоматизации пользовательского интерфейса (этот раздел) Расширенный обзор основных понятий. Все.
Поставщики автоматизации пользовательского интерфейса для управляемого кода Обзоры и практические руководства, помогающие использовать API поставщика. Разработчики элементов управления.
Клиенты автоматизации пользовательского интерфейса для управляемого кода Обзоры и практические руководства, помогающие использовать API клиента. Разработчики клиентских приложений.
Шаблоны элементов управления модели автоматизации пользовательского интерфейса Сведения о порядке реализации поставщиками шаблонов элементов управления и о функциональных возможностях, доступных для клиентов. Все.
Шаблон текста для модели автоматизации пользовательского интерфейса Сведения о порядке реализации поставщиками шаблонов элементов управления Text и о функциональных возможностях, доступных для клиентов. Все.
Типы элементов управления для автоматизации пользовательского интерфейса Сведения о свойствах и шаблонах элементов управления, поддерживаемых разными типами элементов управления. Все.

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

Пространство имен Указанные DLL Аудитория
System.Windows.Automation UIAutomationClientUIAutomationTypes модель автоматизации пользовательского интерфейса разработчиков клиентов; используется для поиска AutomationElement объектов, регистрации модель автоматизации пользовательского интерфейса событий и работы с ним модель автоматизации пользовательского интерфейса шаблонов элементов управления.
System.Windows.Automation.Provider UIAutomationProviderUIAutomationTypes Разработчики модель автоматизации пользовательского интерфейса поставщиков для платформ, отличных от WPF.
System.Windows.Automation.Text UIAutomationClientUIAutomationTypes Разработчики поставщиков модель автоматизации пользовательского интерфейса для платформ, отличных от WPF; используются для реализации шаблона элемента управления TextPattern.
System.Windows.Automation.Peers PresentationFramework Разработчики поставщиков модель автоматизации пользовательского интерфейса для WPF.

Модель автоматизации пользовательского интерфейса

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

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

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

Примечание.

Однозначного соответствия между типами элементов управления и шаблонами элементов управления не существует. Шаблон элемента управления может поддерживаться несколькими типами элементов управления, и элемент управления может поддерживать несколько шаблонов элементов управления, каждый из которых представляет различные аспекты его поведения. Например, поле со списком имеет по крайней мере два шаблона элементов управления: один представляет его возможность разворачиваться и сворачиваться, а другой представляет механизм выбора. Особенности см. в разделе UI Automation Control Types.

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

См. также