Шаблоны элементов управления модели автоматизации пользовательского интерфейса для клиентов
Примечание |
---|
Эта документация предназначена для разработчиков на платформе .NET Framework, которым требуется использовать управляемые классы UI Automation, определенные в пространстве имен System.Windows.Automation.Последние сведения о UI Automation см. на веб-странице Windows Automation API: UI Automation. |
В данном обзоре дается вводная информация по шаблонам элементов управления для клиентов автоматизации пользовательского интерфейса. Сюда включены сведения о том, как клиент автоматизации пользовательского интерфейса может использовать шаблоны элементов управления для доступа к информации о user interface (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 и путем приведения возвращаемого объекта в соответствующий тип. Дополнительные сведения о свойствах объекта UI Automation см. в разделе Свойства автоматизации пользовательского интерфейса для клиентов.
В дополнение к методам GetPropertyValue, значения свойств могут быть получены через методы доступа common language runtime (CLR) для доступа к свойствам UI Automation в шаблоне.
Элементы управления с переменными шаблонами
Некоторые типы элементов управления поддерживают различные шаблоны в зависимости от их состояния или способа использования. Примерами элементов управления, которые могут иметь переменные шаблоны, являются списки (эскизы, плитки, значки, списки, сведения), диаграммы Microsoft Excel (круговая, линейная, полосовая, значение ячейки с формулой), область документа Microsoft Word (обычный, веб-макет, структура, разметка страницы, предварительный просмотр) и обложки Microsoft Windows Media Player.
Элементы управления, реализующие пользовательские типы элементов управления, могут содержать любой набор шаблонов элементов управления, необходимый для представления их функциональных возможностей.
См. также
Задачи
Вызов элемента управления с помощью модели автоматизации пользовательского интерфейса
Получение состояния флажка с использованием автоматизации пользовательского интерфейса
ValuePattern Insert Text Sample
TextPattern Search and Selection Sample
InvokePattern, ExpandCollapsePattern, and TogglePattern Sample
Основные понятия
Сопоставление шаблона элемента управления для клиентов автоматизации пользовательского интерфейса
Другие ресурсы
Шаблоны модели автоматизации пользовательского интерфейса
Шаблон текста модели автоматизации пользовательского интерфейса