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
Obter o AutomationElement Padrões cujo controle você estiver interessado em.
Call GetSupportedPatterns Para obter controle todos os padrões do elemento.
![]() |
---|
É 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
Obter o AutomationElement Padrões cujo controle você estiver interessado em.
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