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

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

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

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

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

Шаблон элемента управления Интерфейс поставщика классов Description
Аннотация IAnnotationProvider Используется для предоставления свойств заметки в документе.
Док IDockProvider Используется для элементов управления, которые могут быть закреплены в контейнере закрепления. Например, это могут быть панели инструментов или палитры инструментов.
Волочить IDragProvider Используется для поддержки перетаскиваемых элементов управления или элементов управления с перетаскиваемыми элементами.
DropTarget IDropTargetProvider Используется для поддержки элементов управления, которые могут быть целью операции перетаскивания.
ExpandCollapse IExpandCollapseProvider Используется для поддержки элементов управления, которые визуально расширяются, чтобы отобразить больше содержимого и свернуть, чтобы скрыть содержимое.
Сетка IGridProvider Используется для элементов управления, которые поддерживают функциональные возможности сетки, такие как изменение размера и перемещение в указанную ячейку. Обратите внимание, что сама сетка не реализует этот шаблон, так как он предоставляет макет, но не является элементом управления.
GridItem IGridItemProvider Используется для элементов управления, имеющих ячейки в сетках.
Взывать IInvokeProvider Используется для элементов управления, которые можно вызвать, например кнопку.
ItemContainer IItemContainerProvider Позволяет приложениям находить элемент в контейнере, например виртуализированный список.
MultipleView IMultipleViewProvider Используется для элементов управления, которые могут переключаться между несколькими представлениями одного и того же набора сведений, данных или дочерних элементов.
ObjectModel IObjectModelProvider Используется для предоставления указателя на базовую объектную модель документа.
RangeValue IRangeValueProvider Используется для элементов управления, имеющих диапазон значений, которые могут быть применены к элементу управления. Например, элемент управления спиннером, содержащий годы, может иметь диапазон от 1900 до текущего года, в то время как другой элемент управления спиннер, представляющего месяцы, будет иметь диапазон от 1 до 12.
Прокрутка IScrollProvider Используется для элементов управления, которые поддерживают прокрутку. Например, это может быть элемент управления, имеющий полосы прокрутки, которые активны, когда сведений больше, чем может быть отображено в видимой области элемента управления.
ScrollItem IScrollItemProvider Используется для элементов управления, имеющих отдельные элементы в прокручиваемом списке. Например, это может быть элемент управления с отдельными элементами в прокручиваемом списке, такой как элемент управления "Поле со списком".
Выбор ISelectionProvider Используется для элементов управления контейнера выделения. Например, ListBox и ComboBox.
SelectionItem ISelectionItemProvider Используется для отдельных элементов в элементах управления контейнера выделения, таких как списки и поля со списком.
Электронная таблица ISpreadsheetProvider Используется для предоставления содержимого электронной таблицы или другого документа на основе сетки.
Электронная таблицаItem ISpreadsheetItemProvider Используется для предоставления свойств ячейки в электронной таблице или другом документе на основе сетки.
Стили IStylesProvider Используется для описания элемента пользовательского интерфейса с определенным стилем, цветом заливки, шаблоном заливки или фигурой.
SynchronizedInput ISynchronizedInputProvider Позволяет модель автоматизации пользовательского интерфейса клиентским приложениям направлять ввод мыши или клавиатуры в определенный элемент пользовательского интерфейса.
Таблицу ITableProvider Используется для элементов управления, имеющих сетку и сведения заголовка. Например, табличный элемент управления календаря.
TableItem ITableItemProvider Используется для элементов в таблице.
Текст ITextProvider Используется для элементов управления "Поле ввода" и документов, которые предоставляют текстовую информацию. См. также ITextRangeProvider и ITextProvider2.
TextChild ITextChildProvider Используется для доступа к ближайшему предку элемента, который поддерживает шаблон элемента управления Text .
TextEdit Управляемый класс недоступен Предоставляет доступ к элементу управления, который изменяет текст, например элемент управления, который выполняет автоматическое исправление или включает входную композицию с помощью редактора методов ввода (IME).
TextRange ITextRangeProvider Предоставляет доступ к диапазону непрерывного текста в текстовом контейнере, который реализует ITextProvider. См. также ITextRangeProvider2.
Коленчатый рычаг IToggleProvider Используется для элементов управления, в которых можно переключать состояние. Например, флажки и пункты меню, которые можно проверить.
Преобразование ITransformProvider Используется для элементов управления с возможностью изменения размера, перемещения и вращения. Обычно шаблон элемента управления Transform используется в конструкторах, формах, графических редакторах и графических приложениях.
Value IValueProvider Позволяет клиентам получать или задавать значения для элементов управления, которые не поддерживают диапазон значений.
VirtualizedItem IVirtualizedItemProvider Предоставляет элементы внутри контейнеров, которые виртуализированы и должны быть полностью доступны как элементы модель автоматизации пользовательского интерфейса.
Window IWindowProvider Предоставляет сведения, относящиеся к окнам, основную концепцию операционной системы Microsoft Windows. Примеры элементов управления, которые являются дочерними окнами и диалогами.

Примечание.

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

Примечание.

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