Partilhar via


Obter Padrões de Controle de Automação de IU Suportados

Este tópico mostra como recuperar controle padrão Objetos de Os elementos.

Obter todos Padrões de controle

  1. Obter o AutomationElement Padrões cujo controle você estiver interessado em.

  2. Call GetSupportedPatterns Para obter controle todos os padrões do elemento.

Cuidado:

É altamente recomendável que um cliente não usar GetSupportedPatterns.Desempenho pode ser seriamente afetado como chama esse método [M:System.Windows.Automation.AutomationElement.GetCurrentPadrão(System.Windows.Automation.AutomationPadrão)] internamente para cada controle padrão existente.Se possível, um cliente deve chamar [M:System.Windows.Automation.AutomationElement.GetCurrentPadrão(System.Windows.Automation.AutomationPadrão)] Para os padrões de chave de interesse.

Obter um Padrão de Controle Específico

  1. Obter o AutomationElement Padrões cujo controle você estiver interessado em.

  2. Call [M:System.Windows.Automation.AutomationElement.GetCurrentPadrão(System.Windows.Automation.AutomationPadrão)] ou TryGetCurrentPattern(AutomationPattern, Objeto%) Para consultar um padrão específico.Esses métodos são semelhantes, mas se o padrão não é encontrado, [M:System.Windows.Automation.AutomationElement.GetCurrentPadrão(System.Windows.Automation.AutomationPadrão)] gera uma exceção, e TryGetCurrentPattern(AutomationPattern, Objeto%) Retorna false.

Exemplo

O exemplo a seguir recupera um AutomationElement Para um item de lista e obtém um SelectionItemPattern desse elemento.









  SelectListItem(AutomationElement listElement, String itemText)
{
     ((listElement == ) || (itemText == ))
    {
          ArgumentException();
    }
    listElement.SetFocus();
    Condition cond =  PropertyCondition(
        AutomationElement.NameProperty, itemText, PropertyConditionFlags.IgnoreCase);
    AutomationElement elementItem = listElement.FindFirst(TreeScope.Children, cond);
     (elementItem != )
    {
        SelectionItemPattern pattern;
        
        {
            pattern = elementItem.GetCurrentPattern(SelectionItemPattern.Pattern)  SelectionItemPattern;
        }
         (InvalidOperationException ex)
        {
            Console.WriteLine(ex.Message);  
            ;
        }
        pattern.Select();
    }
}








  SelectListItem( listElement  AutomationElement,  itemText  )
     listElement   OrElse itemText =  
          ArgumentException()
     
    listElement.SetFocus()
     cond   PropertyCondition(AutomationElement.NameProperty, itemText, PropertyConditionFlags.IgnoreCase)
     elementItem  AutomationElement = listElement.FindFirst(TreeScope.Children, cond)
     Not (elementItem  ) 
         pattern  SelectionItemPattern
        
            pattern = DirectCast(elementItem.GetCurrentPattern(SelectionItemPattern.Pattern), _
                SelectionItemPattern)
         ex  InvalidOperationException
            Console.WriteLine(ex.Message) ' Most likely 
            
         
        pattern.()
     

  'SelectListItem

Consulte também

Conceitos

Padrões de Controle para Clientes de Automação de IU