Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
В этом обзоре представлены шаблоны элементов управления для клиентов автоматизации пользовательского интерфейса. В ней содержатся сведения о том, как клиент автоматизации пользовательского интерфейса может использовать шаблоны элементов управления для доступа к сведениям о пользовательском интерфейсе (ui).
Шаблоны элементов управления позволяют классифицировать и предоставлять функциональные возможности элемента управления независимо от типа элемента управления или внешнего вида элемента управления. Клиенты автоматизации пользовательского интерфейса могут проверить AutomationElement, чтобы определить, какие шаблоны элементов управления поддерживаются, и быть уверенными в поведении элемента управления.
Полный список шаблонов элементов управления см. в разделе "Общие сведения о шаблонах элементов управления автоматизации пользовательского интерфейса".
Получение шаблонов элементов управления
Клиенты получают шаблон элемента управления из AutomationElement, вызывая AutomationElement.GetCachedPattern или AutomationElement.GetCurrentPattern.
Клиенты могут использовать метод GetSupportedPatterns или отдельное свойство IsPatternAvailable
(например, IsTextPatternAvailableProperty), чтобы определить, поддерживается ли шаблон или группа шаблонов на AutomationElement. Однако более эффективно попытаться получить шаблон элемента управления и проверить ссылку null
, чем проверять поддерживаемые свойства и получать шаблон элемента управления, так как это приводит к меньшему количеству вызовов между процессами.
В следующем примере показано, как получить TextPattern шаблон элемента управления из AutomationElement объекта.
// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);
// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);
targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;
if (targetTextPattern == null)
{
Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
return;
}
Получение свойств в шаблонах элементов управления
Клиенты могут получить значения свойств в шаблонах элементов управления, вызвав AutomationElement.GetCachedPropertyValue или AutomationElement.GetCurrentPropertyValue и приведя возвращенный объект к соответствующему типу. Дополнительные сведения о свойствах автоматизации пользовательского интерфейса см. в разделе "Свойства автоматизации пользовательского интерфейса" для клиентов.
GetPropertyValue
Помимо методов, значения свойств можно получить через методы доступа среды CLR для доступа к свойствам автоматизации пользовательского интерфейса в шаблоне.
Элементы управления с шаблонами переменных
Некоторые типы элементов управления поддерживают разные шаблоны в зависимости от их состояния или способа использования элемента управления. Примерами элементов управления, которые могут содержать переменные шаблоны, являются представления списков (эскиз, плитка, значок, список, сведения), диаграммы Microsoft Excel (круговая, линейная, гистограмма, значение ячейки с формулой), область документа Microsoft Word (Обычный вид, Веб-макет, Структура, Макет печати, Предварительный просмотр печати) и скины проигрывателя Windows Media.
Элементы управления, реализующие пользовательские типы элементов управления, могут иметь любой набор шаблонов элементов управления, необходимых для представления их функциональных возможностей.
См. также
- шаблоны автоматизации элементов управления пользовательского интерфейса
- текстового шаблона автоматизации пользовательского интерфейса
- Вызов элемента управления с помощью автоматизации пользовательского интерфейса
- Получение состояния переключателя флажка с помощью автоматизации пользовательского интерфейса
- Сопоставление шаблонов управления для клиентов автоматизации пользовательского интерфейса
- Пример вставки текста с помощью TextPattern
- Пример работы с TextPattern: поиск и выделение
- Пример InvokePattern, ExpandCollapsePattern и TogglePattern