Padrões de Controle para Clientes de Automação de IUUI Automation Control Patterns for Clients

Observação

Esta documentação destina-se a desenvolvedores do .NET Framework que querem usar as classes da Automação da interface do usuárioUI Automation gerenciadas definidas no namespace System.Windows.Automation.This documentation is intended for .NET Framework developers who want to use the managed Automação da interface do usuárioUI Automation classes defined in the System.Windows.Automation namespace. Para obter as informações mais recentes sobre a Automação da interface do usuárioUI Automation, consulte Windows Automation API: UI Automation (API de Automação do Windows: Automação da Interface do Usuário).For the latest information about Automação da interface do usuárioUI Automation, see Windows Automation API: UI Automation.

Esta visão geral apresenta padrões de controle para clientes de automação da interface do usuário.This overview introduces control patterns for UI Automation clients. Ele inclui informações sobre como um cliente de automação de interface do usuário pode usar padrões de controle para acessar informações sobre o UI (interface do usuário)user interface (UI).It includes information on how a UI Automation client can use control patterns to access information about the UI (interface do usuário)user interface (UI).

Os padrões de controle fornecem uma maneira de categorizar e expor a funcionalidade de um controle independentemente do tipo de controle ou da aparência do controle.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control. Os clientes de automação da interface do usuário podem examinar um AutomationElement para determinar quais padrões de controle têm suporte e estar garantidos do comportamento do controle.UI Automation clients can examine an AutomationElement to determine which control patterns are supported and be assured of the behavior of the control.

Para obter uma lista completa de padrões de controle, consulte visão geral dos padrões de controle de automação da interface do usuário.For a complete list of control patterns, see UI Automation Control Patterns Overview.

Obtendo padrões de controleGetting Control Patterns

Os clientes recuperam um padrão de controle de um AutomationElement chamando AutomationElement.GetCachedPattern ou AutomationElement.GetCurrentPattern.Clients retrieve a control pattern from an AutomationElement by calling either AutomationElement.GetCachedPattern or AutomationElement.GetCurrentPattern.

Os clientes podem usar o método GetSupportedPatterns ou uma propriedade individual IsPatternAvailable (por exemplo, IsTextPatternAvailableProperty) para determinar se há suporte para um padrão ou grupo de padrões no 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. No entanto, é mais eficiente tentar obter o padrão de controle e testar uma referência de null do que verificar as propriedades com suporte e recuperar o padrão de controle, pois isso resulta em menos chamadas de processo cruzado.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.

O exemplo a seguir demonstra como obter um padrão de controle de TextPattern de um 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;
}

Recuperando propriedades em padrões de controleRetrieving Properties on Control Patterns

Os clientes podem recuperar os valores de propriedade nos padrões de controle chamando AutomationElement.GetCachedPropertyValue ou AutomationElement.GetCurrentPropertyValue e converter o objeto retornado para um tipo apropriado.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. Para obter mais informações sobre Automação da interface do usuárioUI Automation Propriedades, consulte Propriedades de automação da interface do usuário para clientes.For more information on Automação da interface do usuárioUI Automation properties, see UI Automation Properties for Clients.

Além dos métodos de GetPropertyValue, os valores de propriedade podem ser recuperados por meio de acessadores de Common Language Runtime (CLR) para acessar as propriedades de Automação da interface do usuárioUI Automation em um padrão.In addition to the GetPropertyValue methods, property values can be retrieved through the common language runtime (CLR) accessors to access the Automação da interface do usuárioUI Automation properties on a pattern.

Controles com padrões de variáveisControls with Variable Patterns

Alguns tipos de controle dão suporte a padrões diferentes, dependendo do Estado ou da maneira como o controle está sendo usado.Some control types support different patterns depending on their state or the manner in which the control is being used. Exemplos de controles que podem ter padrões de variáveis são exibições de lista (miniaturas, blocos, ícones, lista, detalhes), gráficos do Microsoft Excel (pizza, linha, barra, valor de célula com uma fórmula), área de documento do Microsoft Word (normal, layout da Web, estrutura de tópicos, layout de impressão, impressão Visualização) e capas do Microsoft Windows Media Player.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.

Controles que implementam tipos de controle personalizados podem ter qualquer conjunto de padrões de controle que são necessários para representar sua funcionalidade.Controls implementing custom control types can have any set of control patterns that are needed to represent their functionality.

Consulte tambémSee also