Шаблоны элементов управления модели автоматизации пользовательского интерфейса для клиентовUI Automation Control Patterns for Clients

Примечание

Эта документация предназначена для разработчиков .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.

В этом обзоре представлены шаблоны элементов управления для клиентов автоматизации пользовательского интерфейса.This overview introduces control patterns for UI Automation clients. Он содержит сведения о том, как клиент автоматизации пользовательского интерфейса может использовать шаблоны элементов управления для доступа к сведениям о пользовательский интерфейсuser interface (UI).It includes information on how a UI Automation client can use control patterns to access information about the пользовательский интерфейсuser interface (UI).

Шаблоны элементов управления позволяют классифицировать и предоставлять функции элемента управления независимо от типа или внешнего вида элемента управления.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control. Клиенты автоматизации пользовательского интерфейса могут проверять AutomationElement , чтобы определить, какие шаблоны элементов управления поддерживаются и какое поведение элемента управления будет применяться.UI Automation clients can examine an AutomationElement to determine which control patterns are supported and be assured of the behavior of the control.

Полный список шаблонов элементов управления см. в разделе UI Automation Control Patterns Overview.For a complete list of control patterns, see UI Automation Control Patterns Overview.

Получение шаблонов элементов управленияGetting Control Patterns

Клиенты получают шаблон элемента управления из AutomationElement , вызывая AutomationElement.GetCachedPattern или AutomationElement.GetCurrentPattern.Clients retrieve a control pattern from an AutomationElement by calling either AutomationElement.GetCachedPattern or AutomationElement.GetCurrentPattern.

Клиенты могут использовать метод GetSupportedPatterns или отдельное свойство IsPatternAvailable (например, IsTextPatternAvailableProperty), чтобы определить, поддерживается ли шаблон или группа шаблонов в AutomationElement.Clients can use the GetSupportedPatterns method or an individual IsPatternAvailable property (for example, IsTextPatternAvailableProperty) to determine if a pattern or group of patterns is supported on the AutomationElement. Однако более эффективно будет попытаться получить шаблон элемента управления и проверить его на наличие ссылки null , чем проверить поддерживаемые свойства и получить шаблон элемента управления, поскольку это приводит к меньшим числом вызовов между процессами.However, it is more efficient to attempt to get the control pattern and test for a null reference than to check the supported properties and retrieve the control pattern since it results in fewer cross-process calls.

В следующем примере показано, как получить шаблон элемента управления TextPattern из объекта AutomationElement.The following example demonstrates how to get a TextPattern control pattern from an 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;
}

Получение свойств в шаблонах элементов управленияRetrieving Properties on Control Patterns

Клиенты могут получать значения свойств в шаблонах элементов управления, вызывая AutomationElement.GetCachedPropertyValue или AutomationElement.GetCurrentPropertyValue и преобразуя возвращаемый объекта в соответствующий тип.Clients can retrieve the property values on control patterns by calling either AutomationElement.GetCachedPropertyValue or AutomationElement.GetCurrentPropertyValue and casting the object returned to an appropriate type. Дополнительные сведения о Автоматизация пользовательского интерфейсаUI Automation свойствах см. в разделе Свойства модели автоматизации пользовательского интерфейса для клиентов.For more information on Автоматизация пользовательского интерфейсаUI Automation properties, see UI Automation Properties for Clients.

Кроме GetPropertyValue, значения свойств можно получить с помощью методов доступа среды CLR для доступа к свойствам Автоматизация пользовательского интерфейсаUI Automation в шаблоне.In addition to the GetPropertyValue methods, property values can be retrieved through the common language runtime (CLR) accessors to access the Автоматизация пользовательского интерфейсаUI Automation properties on a pattern.

Элементы управления с переменными шаблонамиControls with Variable Patterns

Некоторые типы элементов управления поддерживают различные шаблоны в зависимости от их состояния или способа использования элемента управления.Some control types support different patterns depending on their state or the manner in which the control is being used. К примерам элементов управления, которые могут иметь шаблоны переменных, относятся представления списков (эскизы, плитки, значки, список, сведения), диаграммы Microsoft Excel (круговые, линейные, линейчатые, значения ячеек с формулой), область документа Microsoft Word (обычная, веб-макет, структура, макет печати, печать Предварительная версия) и обложки проигрывателя Microsoft Windows Media.Examples of controls that can have variable patterns are list views (thumbnails, tiles, icons, list, details), Microsoft Excel Charts (Pie, Line, Bar, Cell Value with a formula), Microsoft Word's document area (Normal, Web Layout, Outline, Print Layout, Print Preview), and Microsoft Windows Media Player skins.

Элементы управления, реализующие настраиваемые типы элементов управления, могут содержать любой набор шаблонов элементов управления, необходимых для представления их возможностей.Controls implementing custom control types can have any set of control patterns that are needed to represent their functionality.

См. такжеSee also