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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Элементы

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

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

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

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

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

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

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

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

Платформы

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

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

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

Fragments

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

Узлы

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

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

См. также