Общие сведения о шаблонах элементов управления модели автоматизации пользовательского интерфейса
Примечание |
---|
Эта документация предназначена для разработчиков на платформе .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. В таблице также перечислены классы, используемые клиентами модели автоматизации пользовательского интерфейса для доступа к шаблонам элементов управления, а также интерфейсы, используемые поставщиками модели автоматизации пользовательского интерфейса для их реализации.
Класс шаблона элемента управления |
Интерфейс поставщика |
Описание |
---|---|---|
Используется для элементов управления, которые могут быть состыкованы в контейнере стыковки. Например, панели инструментов или средства палитры. |
||
Используется для элементов управления, которые могут быть развернуты или свернуты. Например, элементы меню в приложении, такие как меню Файл. |
||
Используется для элементов управления, которые поддерживают функциональные возможности сетки, такие как изменение размера и перемещение в указанную ячейку. Например, режим крупных значков в проводнике Windows или простые таблицы без заголовков в Microsoft Word. |
||
Используется для элементов управления, имеющих ячейки в сетке. Отдельные ячейки должны поддерживать шаблон GridItem. Например, каждая ячейка в подробном представлении проводника Microsoft Windows Explorer. |
||
Используется для элементов управления, которые могут быть вызваны, таких как кнопки. |
||
Используется для элементов управления, в которых можно переключаться между несколькими представлениями одинакового набора сведений, данных или потомков. Например, элемент управления представления списка, где данные доступны в виде эскизов, плитки, значков, списка или подробного представления. |
||
Используется для элементов управления, имеющих диапазон значений, применимых к элементу управления. Например, элемент управления "счетчик", содержащий годы, может иметь диапазон от 1900 до 2010, в то время как другой элемент управления "счетчик", представляющий месяцы, имеет диапазон от 1 до 12. |
||
Используется для элементов управления, которые поддерживают прокрутку. Например, элемент управления с полосами прокрутки, активными, если в нем расположено больше информации, чем может быть отображено в видимой области элемента управления. |
||
Используется для элементов управления, имеющих отдельные элементы в прокручиваемом списке. Например, элемент управления "список", имеющий отдельные элементы в прокручиваемом списке, такой как элемент управления "поле с раскрывающимся списком". |
||
Используется для элементов управления контейнеров выделения. Например, списки и поля со списком. |
||
Используется для отдельных элементов в элементе управления контейнера выделения, таких как списки и поля со списком. |
||
Используется для элементов управления, имеющих сетку, а также данные заголовка. Например, листы Microsoft Excel. |
||
Используется для элементов в таблице. |
||
Используется для элементов управления редактирования и документов, которые предоставляют текстовую информацию. |
||
Используется для элементов управления, в которых поддерживается переключение состояния. Например, флажки и элементы меню с флажками. |
||
Используется для элементов управления, которые можно изменять в размере, перемещать и поворачивать. Обычно используется для шаблонов элементов управления Transform, находящихся в конструкторах, формах, графических редакторах и графических приложениях. |
||
Позволяет клиентам получить или установить значение для элементов управления, которые не поддерживают диапазон значений. Например, элемент выбора даты и времени. |
||
Предоставляет сведения об окне, основные концепции операционной системы Microsoft Windows. Примеры элементов управления, являющихся окнами, включают окна приложений верхнего уровня (Microsoft Word, Microsoft Windows Explorer и т.д.), дочерние окна multiple-document interface (MDI) и диалоговые окна. |
См. также
Основные понятия
Шаблоны элементов управления модели автоматизации пользовательского интерфейса для клиентов
Сопоставление шаблона элемента управления для клиентов автоматизации пользовательского интерфейса
Общие сведения о модели автоматизации пользовательского интерфейса
Свойства автоматизации пользовательского интерфейса для клиентов
События модели автоматизации пользовательского интерфейса для клиентов