Compartilhar via


Padrões de controle de automação da interface do usuário para clientes

Observação

Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de Automação de Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre Automação de Interface do Usuário, consulte API de Automação do Windows: Automação de Interface do Usuário.

Essa visão geral apresenta padrões de controle para clientes de Automação de Interface do Usuário. 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 a interface do usuário (interface do usuário).

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. 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 ter certeza do comportamento do controle.

Para obter uma lista completa de padrões de controle, consulte a visão geral dos padrões de controle de automação da interface do usuário.

Como obter padrões de controle

Os clientes recuperam um padrão de controle de uma AutomationElement ao chamar AutomationElement.GetCachedPattern ou AutomationElement.GetCurrentPattern.

Os clientes podem usar o GetSupportedPatterns método ou uma propriedade individual IsPatternAvailable (por exemplo, IsTextPatternAvailableProperty) para determinar se um padrão ou grupo de padrões tem suporte no AutomationElement. No entanto, é mais eficiente tentar obter o método de controle e testar uma null referência do que verificar as propriedades suportadas e recuperar o método de controle, pois isso resulta em menos chamadas entre processos.

O exemplo a seguir demonstra como obter um TextPattern modelo de controle de um 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 controle

Os clientes podem recuperar os valores de propriedade em padrões de controle chamando AutomationElement.GetCachedPropertyValue ou AutomationElement.GetCurrentPropertyValue convertendo o objeto retornado para um tipo apropriado. Para obter mais informações sobre as propriedades da Automação da Interface do Usuário, consulte Propriedades de Automação da Interface do Usuário para Clientes.

Além dos métodos GetPropertyValue, os valores de propriedade podem ser recuperados por meio dos acessadores do CLR (Common Language Runtime) para acessar as propriedades da Automação da Interface do Usuário em um padrão.

Controles com padrões variáveis

Alguns tipos de controle dão suporte a padrões diferentes dependendo do estado ou da maneira como o controle está sendo usado. Entre os exemplos de controles que podem ter padrões variáveis estão exibições de lista (miniaturas, blocos, ícones, lista, detalhes), gráficos do Microsoft Excel (pizza, linha, barra, valor da célula com uma fórmula), área de documento do Microsoft Word (normal, layout da Web, estrutura de tópicos, layout de impressão, visualização de impressão) e capas do Microsoft Windows Media Player.

Os controles que implementam tipos de controle personalizados podem ter qualquer conjunto de padrões de controle necessários para representar sua funcionalidade.

Consulte também