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


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

ПримечаниеПримечание

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

В этом разделе представлены шаблоны элементов управления Microsoft UI Automation. Шаблоны элементов управления предоставляют способ классификации и функциональные возможности элемента управления, независимо от типа или внешнего вида элемента управления.

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

ПримечаниеПримечание

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

 

В этом разделе содержатся следующие подразделы.

  • Компоненты шаблонов элементов управления модели автоматизации пользовательского интерфейса
  • Клиенты и поставщики модели автоматизации пользовательского интерфейса
  • Шаблоны динамических элементов управления
  • Классы и интерфейсы шаблонов элементов управления
  • Связанные разделы

 

Компоненты шаблонов элементов управления модели автоматизации пользовательского интерфейса

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

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

  • Методы позволяют клиенту модели автоматизации пользовательского интерфейса воздействовать на элемент управления.

  • Свойства и события предоставляют сведения о возможностях шаблона элемента управления, а также сведения о состоянии элемента управления.

Шаблоны управления связаны с UI, как интерфейсы связаны с объектами Component Object Model (COM). В COM можно запросить объект о том, какие интерфейсы он поддерживает, а затем использовать эти интерфейсы для доступа к функциональным возможностям. В UI Automation  клиент модели автоматизации пользовательского интерфейса может запросить у элемента управления, какие шаблоны элементов управления он поддерживает, а затем взаимодействовать с элементом управления с помощью свойств, методов, событий и структуры, предоставляемых поддерживаемыми шаблонами элемента управления. Например, для многострочного поля ввода поставщики модели автоматизации пользовательского интерфейса реализуют IScrollProvider. Когда клиенту известно, что AutomationElement поддерживает шаблон элемента управления ScrollPattern, он может использовать свойства, методы и события, предоставляемые шаблоном элемента управления для воздействия на элемент управления или для доступа к информации об элементе управления.

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

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

Клиенты модели автоматизации пользовательского интерфейса получают доступ к методам и свойствам классов шаблонов элемента управления UI Automation и используют их для получения сведений о UI или для воздействия на UI. Эти классы шаблонов элементов управления находятся в пространстве имен System.Windows.Automation (например, InvokePattern и SelectionPattern).

Клиенты используют методы AutomationElement (например, AutomationElement.GetCurrentPropertyValue или AutomationElement.GetCachedPropertyValue) или методы доступа common language runtime (CLR)  для доступа к свойствам UI Automation в шаблоне. Каждый класс шаблона элемента управления имеет элемент поля (например, InvokePattern.Pattern или SelectionPattern.Pattern), который определяет этот шаблон элемента управления и может передаваться в качестве параметра в шаблон GetCachedPattern или GetCurrentPattern для извлечения этого шаблона для AutomationElement.

Шаблоны динамических элементов управления

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

Классы и интерфейсы шаблонов элементов управления

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

Класс шаблона элемента управления

Интерфейс поставщика

Описание

DockPattern

IDockProvider

Используется для элементов управления, которые могут быть состыкованы в контейнере стыковки. Например, панели инструментов или средства палитры.

ExpandCollapsePattern

IExpandCollapseProvider

Используется для элементов управления, которые могут быть развернуты или свернуты. Например, элементы меню в приложении, такие как меню Файл.

GridPattern

IGridProvider

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

GridItemPattern

IGridItemProvider

Используется для элементов управления, имеющих ячейки в сетке. Отдельные ячейки должны поддерживать шаблон GridItem. Например, каждая ячейка в подробном представлении проводника Microsoft Windows Explorer.

InvokePattern

IInvokeProvider

Используется для элементов управления, которые могут быть вызваны, таких как кнопки.

MultipleViewPattern

IMultipleViewProvider

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

RangeValuePattern

IRangeValueProvider

Используется для элементов управления, имеющих диапазон значений, применимых к элементу управления. Например, элемент управления "счетчик", содержащий годы, может иметь диапазон от 1900 до 2010, в то время как другой элемент управления "счетчик", представляющий месяцы, имеет диапазон от 1 до 12.

ScrollPattern

IScrollProvider

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

ScrollItemPattern

IScrollItemProvider

Используется для элементов управления, имеющих отдельные элементы в прокручиваемом списке. Например, элемент управления "список", имеющий отдельные элементы в прокручиваемом списке, такой как элемент управления "поле с раскрывающимся списком".

SelectionPattern

ISelectionProvider

Используется для элементов управления контейнеров выделения. Например, списки и поля со списком.

SelectionItemPattern

ISelectionItemProvider

Используется для отдельных элементов в элементе управления контейнера выделения, таких как списки и поля со списком.

TablePattern

ITableProvider

Используется для элементов управления, имеющих сетку, а также данные заголовка. Например, листы Microsoft Excel.

TableItemPattern

ITableItemProvider

Используется для элементов в таблице.

TextPattern

ITextProvider

Используется для элементов управления редактирования и документов, которые предоставляют текстовую информацию.

TogglePattern

IToggleProvider

Используется для элементов управления, в которых поддерживается переключение состояния. Например, флажки и элементы меню с флажками.

TransformPattern

ITransformProvider

Используется для элементов управления, которые можно изменять в размере, перемещать и поворачивать. Обычно используется для шаблонов элементов управления Transform, находящихся в конструкторах, формах, графических редакторах и графических приложениях.

ValuePattern

IValueProvider

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

WindowPattern

IWindowProvider

Предоставляет сведения об окне, основные концепции операционной системы Microsoft Windows. Примеры элементов управления, являющихся окнами, включают окна приложений верхнего уровня (Microsoft Word, Microsoft Windows Explorer и т.д.), дочерние окна multiple-document interface (MDI) и диалоговые окна.

См. также

Основные понятия

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

Сопоставление шаблона элемента управления для клиентов автоматизации пользовательского интерфейса

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

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

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