UI Automation Properties for Clients
Este através de Exibir apresenta você Propriedades como eles ficam expostos à Cliente de Automação interface do usuário Os aplicativos.
Propriedades em AutomationElement Os objetos contêm informações sobre Elementos, geralmente, os controles.As propriedades de um AutomationElement São Genérico; Ou seja, não específicas a um tipo de controle.Muitos dessas propriedades são expostos na AutomationElementInformation Estrutura.
Padrões de controle também possuem propriedades.As propriedades dos padrões de controle são específicas de cada padrão.Por exemplo, ScrollPattern tem propriedades que permitem uma aplicativo cliente para descobrir se uma janela é Verticalmente ou horizontalmente rolável, e quais são o modo de exibição atual tamanhos e posições de rolagem.Controle padrões expõem todas as suas propriedades através de uma estrutura; Por exemplo, ScrollPatternInformation.
As propriedades são somente leitura.Para definir as propriedades de um controle, você deve usar métodos do padrão de controle adequado.Por exemplo, use Scroll Para alterar os valores a posição de uma janela de rolagem.
Para melhorar o desempenho, valores de propriedades de controles e controlar os padrões pode ser armazenadas em cache quando AutomationElement Os objetos são recuperados.Para obter mais informações, consulte Cache em clientes de automação de interface do usuário.
Este tópico contém as seguintes seções.
- IDs de propriedades
- Condições de propriedade
- Recuperando propriedades
- Valores padrão das propriedades
- Eventos de propriedade-modificada
- Propriedades adicionais AutomationElement
- Tópicos relacionados
IDs de propriedades
Propriedade São valores exclusivos, constante que são encapsulados em AutomationProperty Os objetos.Cliente de Automação interface do usuário obter esses aplicativos a partir de AutomationElement Classe ou de apropriadas controle classe padrão, como ScrollPattern.Provedores de automação interface do usuário obtê-los a partir AutomationElementIdentifiers ou a partir de um do controle padrão identificadores classes, como ScrollPatternIdentifiers.
O numérico ID() de um AutomationProperty é usado por provedores para identificar as propriedades que estão sendo consultadas para na IRawElementProviderSimplesGetPropertyValor(Int32) Método.Em geral, os aplicativos cliente não não necessário examinar o ID().O ProgrammaticName Só é usada para Depurando e fins de diagnóstico.
Condições de propriedade
A propriedade São usados na criação PropertyCondition objetos usados para localizar AutomationElement Os objetos.Por exemplo, talvez você queira localizar um AutomationElement que tem um determinado nome, ou todos os controles que são ativados.Each (Visual Basic) PropertyCondition Especifica um AutomationProperty identificador e o valor que a propriedade deve coincidir.
Para obter mais informações, consulte os seguintes tópicos de referência:
Recuperando propriedades
Algumas propriedades de AutomationElement e todas as propriedades de um controle padrão Classe estão expostas como propriedades aninhadas da Current ou Em cache Propriedade das AutomationElement ou objeto de controle padrão.
Além disso, qualquer AutomationElement ou a propriedade Pattern, incluindo uma propriedade que é não está disponível no controle a Cached ou Current estrutura, pode ser recuperado usando um dos seguintes métodos:
GetCurrentPropriedadeValor(AutomationPropriedade)
Estes métodos oferecem um desempenho ligeiramente melhor, além de ter acesso ao conjunto completo de propriedades.
O exemplo de código a seguir mostra duas maneiras de recuperar uma propriedade em um AutomationElement.
string name = elementList.Current.Name;
name = elementList.GetCurrentPropertyValue(AutomationElement.NameProperty) string;
name = elementList.Current.Name
name = CStr(elementList.GetCurrentPropertyValue(AutomationElement.NameProperty))
Para recuperar propriedades de controle padrões com suporte a AutomationElementVocê não precisa recuperar o objeto de controle padrão.Basta passar um dos identificadores de propriedade de padrão ao método.
O código de exemplo a seguir mostra duas maneiras para recuperar uma propriedade em um padrão de controle.
SelectionPattern selectPattern =
elementList.GetCurrentPattern(SelectionPattern.Pattern) SelectionPattern;
isMultipleSelect = selectPattern.Current.CanSelectMultiple;
isMultipleSelect = ()
elementList.GetCurrentPropertyValue(SelectionPattern.CanSelectMultipleProperty);
selectPattern SelectionPattern = _
DirectCast(elementList.GetCurrentPattern(SelectionPattern.Pattern), SelectionPattern)
isMultipleSelect = selectPattern.Current.CanSelectMultiple
isMultipleSelect = CBool(elementList.GetCurrentPropertyValue(SelectionPattern.CanSelectMultipleProperty))
O Get métodos retornam um Object.O aplicativo deve converter o objeto retornado para o tipo adequado antes de utilizar o valor.
Valores padrão das propriedades
Se um Interface do usuário de automação do provedor não implementa uma propriedade, o Sistema é possa fornecer um valor padrão.Por exemplo, se o provedor para um controle não dá suporte a propriedade identificada por HelpTextProperty, Retorna uma seqüência de caracteres vazia.Da mesma forma, se o provedor não der suporte a propriedade identificada por IsDockPatternAvailableProperty, Retorna false.
Você pode alterar esse comportamento usando o AutomationElement.GetCachedPropertyValue e AutomationElement.GetCurrentPropertyValue Método sobrecargas.Quando você especificar verdadeiro Como o segundo parâmetro. não retornar um valor padrão, mas em vez disso, retorna o valor especial NotSupported.
O exemplo a seguir tenta recuperar uma propriedade de um elemento, e se a propriedade não for suportada, usa um valor definido pelo aplicativo em seu lugar.
object help = elementList.GetCurrentPropertyValue(AutomationElement.HelpTextProperty, );
(help == AutomationElement.NotSupported)
{
help = ;
}
string helpText = (string)help;
help Object = elementList.GetCurrentPropertyValue(AutomationElement.HelpTextProperty, )
help AutomationElement.NotSupported
help =
helpText = CStr(help)
Para descobrir quais propriedades são suportadas por um elemento, use GetSupportedProperties.Isso retorna uma matriz de AutomationProperty identificadores.
Eventos de propriedade-modificada
Quando um valor da propriedade em um AutomationElement ou alterações de controle padrão, um evento é gerado.Um aplicativo pode se inscrever para esses eventos chamando AddAutomationPropertyChangedEventHandlerFornecendo uma matriz de AutomationProperty identificadores como o último parâmetro para especificar as propriedades de interesse.
Na AutomationPropertyChangedEventHandlerVocê pode identificar a propriedade que foi alterado, verificando a Property Membro dos argumentos de eventos.Os argumentos também contêm os valores da antiga e nova a Propriedade que foi alterado.Esses valores são do tipo Object e deve ser convertido para o tipo correto antes que está sendo usada.
Propriedades adicionais AutomationElement
Além disso, para o Current e Cached Propriedade estruturas, AutomationElement tem as propriedades a seguir, que são recuperadas através Os assessores da propriedade simples.
Propriedade |
Descrição |
---|---|
Uma coleção de filho AutomationElement objetos que estão no cache. |
|
Um AutomationElement objeto pai que está no cache. |
|
(Propriedade estática) O AutomationElement que tem o foco de entrada. |
|
(Propriedade estática) A raiz AutomationElement. |
Consulte também
Tarefas
Registre-se em Eventos de Automação de Interface do Usuário