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

Примечание.

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

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

Клиентские приложения обычно не должны работать непосредственно с поставщиками. Большинство стандартных элементов управления в приложениях, использующих платформы Win32, Windows Forms или Windows Presentation Foundation (WPF), автоматически предоставляются системе модель автоматизации пользовательского интерфейса. Приложения, реализующие пользовательские элементы управления, также могут реализовывать поставщики модель автоматизации пользовательского интерфейса для этих элементов управления, а клиентские приложения не должны предпринимать никаких специальных действий для получения доступа к ним.

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

Типы поставщиков

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

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

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

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

Поставщики на стороне сервера

Поставщики на стороне сервера реализуются пользовательскими элементами управления или приложениями, основанными на платформе пользовательского интерфейса, отличной от Win32, Windows Forms или WPF.

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

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

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

Элементы

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

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

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

Представления

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

Представления Description
Базовое представление Содержит все элементы.
Представление элемента управления Содержит элементы, которые являются элементами управления.
Представление содержимого Содержит элементы, которые имеют содержимое.

Дополнительные сведения о клиентских представлениях дерева модель автоматизации пользовательского интерфейса см. в модель автоматизации пользовательского интерфейса обзоре дерева.

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

Платформы

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

Элементы управления контейнераМи Win32, такие как поля списков и представления деревьев, считаются платформами, так как они содержат собственный код для отрисовки дочерних элементов и выполнения хит-тестирования на них. В отличие от этого, поле списка WPF не является платформой, так как отрисовка и тестирование попаданий обрабатывается в окне WPF.

Пользовательский интерфейс в приложении может быть состоит из разных платформ. Например, окно приложения HWND может содержать динамический HTML (DHTML), который, в свою очередь, содержит компонент, например поле со списком в HWND.

Фрагменты

Фрагмент — это полное поддерево элементов из определенной инфраструктуры. Элемент на уровне корневого узла поддерева называется корнем фрагмента. Корневой каталог фрагмента не имеет родительского элемента, но размещается в какой-то другой платформе, как правило, окно Win32 (HWND).

Узлы

Корневой узел каждого фрагмента должен размещаться в элементе, обычно в окне Win32 (HWND). Исключением является рабочий стол, который не размещается ни в каком другом элементе. Узлом пользовательского элемента управления является HWND самого элемента управления, а не окно приложения или какое-либо другое окно, которое может содержать группы элементов управления верхнего уровня.

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

См. также