Padrões de controle de automação da interface do usuário para clientes
Nota
Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de automação da interface do usuário gerenciadas definidas no System.Windows.Automation namespace. Para obter as informações mais recentes sobre a automação da interface do usuário, consulte API de automação do Windows: automação da interface do usuário.
Esta visão geral apresenta padrões de controle para clientes de automação da interface do usuário. Ele inclui informações sobre como um cliente de automação da interface do usuário pode usar padrões de controle para acessar informações sobre a interface do usuário (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. Os clientes de automação da interface do usuário podem examinar um AutomationElement para determinar quais padrões de controle são suportados e ter certeza do comportamento do controle.
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.
Obtendo padrões de controle
Os clientes recuperam um padrão de controle de um AutomationElement chamando um 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 é suportado AutomationElementno . No entanto, é mais eficiente tentar obter o padrão de controle e testar uma null
referência do que verificar as propriedades suportadas e recuperar o padrão de controle, uma vez que resulta em menos chamadas de processo cruzado.
O exemplo a seguir demonstra como obter um TextPattern padrão de controle de um AutomationElementarquivo .
// 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 ou AutomationElement.GetCachedPropertyValueAutomationElement.GetCurrentPropertyValue e convertendo o objeto retornado para um tipo apropriado. Para obter mais informações sobre as propriedades de automação da interface do usuário, consulte Propriedades de automação da interface do usuário para clientes.
Além dos métodos, os GetPropertyValue
valores de propriedade podem ser recuperados por meio dos acessadores CLR (Common Language Runtime) para acessar as propriedades de Automação da Interface do Usuário em um padrão.
Controles com padrões variáveis
Alguns tipos de controle suportam padrões diferentes, dependendo de seu estado ou da maneira como o controle está sendo usado. Exemplos de controles que podem ter padrões variáveis são modos de exibição 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
- Padrões de controle de automação da interface do usuário
- Padrão de texto de automação da interface do usuário
- Invoque um controle usando a automação da interface do usuário
- Obter o estado de alternância de uma caixa de seleção usando a automação da interface do usuário
- Mapeamento de padrões de controle para clientes de automação da interface do usuário
- Exemplo de inserção de texto TextPattern
- Exemplo de pesquisa e seleção TextPattern
- Exemplo de InvokePattern, ExpandCollapsePattern e TogglePattern