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

Примечание

Эта документация предназначена для разработчиков .NET Framework, желающих использовать управляемые классы Автоматизация пользовательского интерфейсаUI Automation , заданные в пространстве имен System.Windows.Automation .This documentation is intended for .NET Framework developers who want to use the managed Автоматизация пользовательского интерфейсаUI Automation classes defined in the System.Windows.Automation namespace. Последние сведения о Автоматизация пользовательского интерфейсаUI Automationсм. в разделе API службы автоматизации Windows: Модель автоматизациипользовательского интерфейса.For the latest information about Автоматизация пользовательского интерфейсаUI Automation, see Windows Automation API: UI Automation.

В этом обзоре представлены шаблоны элементов управления Модель автоматизации пользовательского интерфейса МайкрософтMicrosoft UI Automation .This overview introduces Модель автоматизации пользовательского интерфейса МайкрософтMicrosoft UI Automation control patterns. Шаблоны элементов управления позволяют классифицировать и предоставлять функции элемента управления независимо от типа или внешнего вида элемента управления.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control.

Автоматизация пользовательского интерфейсаUI Automation использует шаблоны элементов управления для представления общих расширений функциональности элементов управления.uses control patterns to represent common control behaviors. Например, вы используете шаблон элемента управления Invoke для элементов управления, которые могут быть вызваны (таких как кнопки), а шаблон элемента управления Scroll — для элементов управления, имеющих полосы прокрутки (таких как списки или поля со списком).For example, you use the Invoke control pattern for controls that can be invoked (such as buttons) and the Scroll control pattern for controls that have scroll bars (such as list boxes, list views, or combo boxes). Поскольку каждый шаблон элемента управления предоставляет отдельную функциональность, их можно объединять для описания полного набора функциональных возможностей, поддерживаемых определенным элементом управления.Because each control pattern represents a separate functionality, they can be combined to describe the full set of functionality supported by a particular control.

Примечание

Агрегатные элементы управления, построенные с помощью дочерних элементов управления, которые обеспечивают пользовательский интерфейсuser interface (UI) для функциональности, предоставляемой родительским классом, должны реализовывать все шаблоны элементов управления, обычно связанные с каждым дочерним элементом управления.Aggregate controls—built with child controls that provide the пользовательский интерфейсuser interface (UI) for functionality exposed by the parent—should implement all control patterns normally associated with each child control. В свою очередь те же шаблоны элементов управления не обязательно должны быть реализованы дочерними элементами управления.In turn, those same control patterns are not required to be implemented by the child controls.

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

Шаблоны элементов управления поддерживают методы, свойства, события и связи, необходимые для определения дискретной части функциональности, доступной в элементе управления.Control patterns support the methods, properties, events, and relationships needed to define a discrete piece of functionality available in a control.

  • Связь между элементом модели автоматизации пользовательского интерфейса и его родительским, дочерними и одноуровневыми элементами описывает структуру элемента в дереве Автоматизация пользовательского интерфейсаUI Automation .The relationship between a UI Automation element and its parent, children and siblings describes the element's structure within the Автоматизация пользовательского интерфейсаUI Automation tree.

  • Методы позволяют клиентам автоматизации пользовательского интерфейса работать с элементом управления.The methods allow UI Automation clients to manipulate the control.

  • Свойства и события предоставляют сведения о функциональности шаблона элемента управления, а также сведения о состоянии элемента управления.The properties and events provide information about the control pattern's functionality as well as information about the state of the control.

Шаблоны элементов управления связаны ИПUI с объектами модели COM.Control patterns relate to ИПUI as interfaces relate to Component Object Model (COM) objects. В модели COM можно запросить объект, чтобы узнать, какие интерфейсы он поддерживает, а затем использовать эти интерфейсы для доступа к функциональным возможностям.In COM, you can query an object to ask what interfaces it supports and then use those interfaces to access functionality. В Автоматизация пользовательского интерфейсаUI Automationклиенты автоматизации пользовательского интерфейса могут запрашивать у элемента управления, какие шаблоны элементов управления он поддерживает, а затем взаимодействовать с этим элементом управления посредством свойств, методов, событий и структур, предоставляемых поддерживаемыми шаблонами этого элемента управления.In Автоматизация пользовательского интерфейсаUI Automation, UI Automation clients can ask a control which control patterns it supports and then interact with the control through the properties, methods, events, and structures exposed by the supported control patterns. Например, для многострочного поля ввода поставщики автоматизации пользовательского интерфейса реализуют IScrollProvider.For example, for a multiline edit box, UI Automation providers implement IScrollProvider. Если клиенту известно, что AutomationElement поддерживает шаблон элемента управления ScrollPattern , он может использовать свойства, методы и события, предоставляемые данным шаблоном элемента управления, для работы с этим элементом управления или получения доступа к сведениям о нем.When a client knows that an AutomationElement supports the ScrollPattern control pattern, it can use the properties, methods, and events exposed by that control pattern to manipulate the control, or access information about the control.

Поставщики и клиенты автоматизации пользовательского интерфейсаUI Automation Providers and Clients

Поставщики автоматизации пользовательского интерфейса реализуют шаблоны элементов управления для предоставления соответствующего расширения функциональности для определенной части функциональных возможностей, поддерживаемых элементом управления.UI Automation providers implement control patterns to expose the appropriate behavior for a specific piece of functionality supported by the control.

Клиенты автоматизации пользовательского интерфейса получают доступ к методам и свойствам классов шаблонов элементов управления Автоматизация пользовательского интерфейсаUI Automation и используют их для получения сведений о ИПUIили для работы с ИПUI.UI Automation clients access methods and properties of Автоматизация пользовательского интерфейсаUI Automation control pattern classes and use them to get information about the ИПUI, or to manipulate the ИПUI. Эти классы шаблонов элементов управления находятся в пространстве имен System.Windows.Automation (например, в InvokePattern или в SelectionPattern).These control pattern classes are found in the System.Windows.Automation namespace (for example, InvokePattern and SelectionPattern).

Клиенты используют AutomationElement методы ( AutomationElement.GetCurrentPropertyValue например, или AutomationElement.GetCachedPropertyValue) или способы доступа среды CLR для доступа к Автоматизация пользовательского интерфейсаUI Automation свойствам в шаблоне.Clients use AutomationElement methods (such as AutomationElement.GetCurrentPropertyValue or AutomationElement.GetCachedPropertyValue) or the common language runtime (CLR) accessors to access the Автоматизация пользовательского интерфейсаUI Automation properties on a pattern. Каждый класс шаблона элемента управления имеет элемент Field (например, InvokePattern.Pattern или SelectionPattern.Pattern), который определяет шаблон элемента управления и может быть передан в качестве параметра в GetCachedPattern или GetCurrentPattern для получения этого шаблона для AutomationElement.Each control pattern class has a field member (for example, InvokePattern.Pattern or SelectionPattern.Pattern) that identifies that control pattern and can be passed as a parameter to GetCachedPattern or GetCurrentPattern to retrieve that pattern for an AutomationElement.

Динамические шаблоны элементов управленияDynamic Control Patterns

Некоторые элементы управления не всегда поддерживают один и тот же набор шаблонов элементов управления.Some controls do not always support the same set of control patterns. Шаблоны элементов управления считаются поддерживаемыми, если они доступны для клиента автоматизации пользовательского интерфейса.Control patterns are considered supported when they are available to a UI Automation client. Например, многострочное поле ввода включает вертикальную прокрутку, только если оно содержит больше строк текста, чем может быть отображено в его видимой области.For example, a multiline edit box enables vertical scrolling only when it contains more lines of text than can be displayed in its viewable area. Прокрутка отключается при удалении достаточного объема текста, когда она становится ненужной.Scrolling is disabled when enough text is removed so that scrolling is no longer required. Например, шаблон элемента управления ScrollPattern динамически поддерживается в зависимости от текущего состояния элемента управления (какой объем текста находится в поле ввода).For this example, the ScrollPattern control pattern is dynamically supported depending on the current state of the control (how much text is in the edit box).

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

В следующей таблице описываются шаблоны элементов управления Автоматизация пользовательского интерфейсаUI Automation .The following table describes the Автоматизация пользовательского интерфейсаUI Automation control patterns. В этой таблице также приведены классы, используемые клиентами автоматизации пользовательского интерфейса для доступа к шаблонам элементов управления, а также интерфейсы, используемые поставщиками автоматизации пользовательского интерфейса для их реализации.The table also lists the classes used by UI Automation clients to access the control patterns, as well as the interfaces used by UI Automation providers to implement them.

Класс шаблона элемента управленияControl Pattern Class Интерфейс поставщикаProvider Interface ОписаниеDescription
DockPattern IDockProvider Используется для элементов управления, которые могут быть закреплены в контейнере закрепления.Used for controls that can be docked in a docking container. Например, это могут быть панели инструментов или палитры инструментов.For example, toolbars or tool palettes.
ExpandCollapsePattern IExpandCollapseProvider Используется для элементов управления, которые можно разворачивать и сворачивать.Used for controls that can be expanded or collapsed. Например, это могут быть пункты меню в приложении, такие как меню Файл .For example, menu items in an application such as the File menu.
GridPattern IGridProvider Используется для элементов управления, которые поддерживают функциональные возможности сетки, такие как изменение размера и перемещение в указанную ячейку.Used for controls that support grid functionality such as sizing and moving to a specified cell. Например, это могут быть простые таблицы без заголовков в Microsoft WordMicrosoft Wordили представление с крупными значками в проводнике.For example, the large icon view in Windows Explorer or simple tables without headers in Microsoft WordMicrosoft Word.
GridItemPattern IGridItemProvider Используется для элементов управления, имеющих ячейки в сетках.Used for controls that have cells within grids. Отдельные ячейки должны поддерживать шаблон GridItem.The individual cells should support the GridItem pattern. Например, это может быть каждая ячейка в подробном представлении Проводник Microsoft WindowsMicrosoft Windows Explorer .For example, each cell in Проводник Microsoft WindowsMicrosoft Windows Explorer detail view.
InvokePattern IInvokeProvider Используется для элементов управления, которые могут быть вызваны, таких как кнопки.Used for controls that can be invoked, such as a button.
MultipleViewPattern IMultipleViewProvider Используется для элементов управления, которые могут переключаться между несколькими представлениями одного и того же набора сведений, данных или дочерних элементов.Used for controls that can switch between multiple representations of the same set of information, data, or children. Например, это может быть элемент управления представления списка, где данные доступны в виде эскизов, плиток, значков, списка или подробных представлений.For example, a list view control where data is available in thumbnail, tile, icon, list, or detail views.
RangeValuePattern IRangeValueProvider Используется для элементов управления, имеющих диапазон значений, которые могут быть применены к элементу управления.Used for controls that have a range of values that can be applied to the control. Например, элемент управления "Счетчик", содержащий годы, может иметь диапазон от 1900 до 2010, а другой элемент управления "Счетчик", представляющий месяцы, имеет диапазон от 1 до 12.For example, a spinner control containing years might have a range of 1900 to 2010, while another spinner control presenting months would have a range of 1 to 12.
ScrollPattern IScrollProvider Используется для элементов управления, которые поддерживают прокрутку.Used for controls that can scroll. Например, это может быть элемент управления, имеющий полосы прокрутки, которые активны, когда сведений больше, чем может быть отображено в видимой области элемента управления.For example, a control that has scroll bars that are active when there is more information than can be displayed in the viewable area of the control.
ScrollItemPattern IScrollItemProvider Используется для элементов управления, имеющих отдельные элементы в прокручиваемом списке.Used for controls that have individual items in a list that scrolls. Например, это может быть элемент управления с отдельными элементами в прокручиваемом списке, такой как элемент управления "Поле со списком".For example, a list control that has individual items in the scroll list, such as a combo box control.
SelectionPattern ISelectionProvider Используется для элементов управления контейнера выделения.Used for selection container controls. Например, это могут быть списки и поля со списком.For example, list boxes and combo boxes.
SelectionItemPattern ISelectionItemProvider Используется для отдельных элементов в элементах управления контейнера выделения, таких как списки и поля со списком.Used for individual items in selection container controls, such as list boxes and combo boxes.
TablePattern ITableProvider Используется для элементов управления, имеющих сетку и сведения заголовка.Used for controls that have a grid as well as header information. Например, это могут быть листы Microsoft ExcelMicrosoft Excel .For example, Microsoft ExcelMicrosoft Excel worksheets.
TableItemPattern ITableItemProvider Используется для элементов в таблице.Used for items in a table.
TextPattern ITextProvider Используется для элементов управления "Поле ввода" и документов, которые предоставляют текстовую информацию.Used for edit controls and documents that expose textual information.
TogglePattern IToggleProvider Используется для элементов управления, в которых можно переключать состояние.Used for controls where the state can be toggled. Например, это могут быть флажки и элементы меню с флажками.For example, check boxes and checkable menu items.
TransformPattern ITransformProvider Используется для элементов управления с возможностью изменения размера, перемещения и вращения.Used for controls that can be resized, moved, and rotated. Обычно шаблон элемента управления Transform используется в конструкторах, формах, графических редакторах и графических приложениях.Typical uses for the Transform control pattern are in designers, forms, graphical editors, and drawing applications.
ValuePattern IValueProvider Позволяет клиентам получать или задавать значения для элементов управления, которые не поддерживают диапазон значений.Allows clients to get or set a value on controls that do not support a range of values. Например, это может быть элемент управления "Выбор даты и времени".For example, a date time picker.
WindowPattern IWindowProvider Предоставляет сведения, относящиеся к окнам, фундаментальному понятию в операционной системе Microsoft WindowsMicrosoft Windows .Exposes information specific to windows, a fundamental concept to the Microsoft WindowsMicrosoft Windows operating system. Примерами элементов управления, являющихся окнами, являются окна приложений верхнегоMicrosoft WordMicrosoft Wordуровня Проводник Microsoft WindowsMicrosoft Windows Explorer(, и т. д.), дочерние окна многодокументного интерфейса (MDI) и диалоговые окна.Examples of controls that are windows are top-level application windows (Microsoft WordMicrosoft Word, Проводник Microsoft WindowsMicrosoft Windows Explorer, and so on), multiple-document interface (MDI) child windows, and dialogs.

См. такжеSee also