Partilhar via


Implementing the UI Automation Value Control Pattern

Este tópico apresenta diretrizes e convenções para a implementação IValueProviderIncluindo informações sobre eventos e propriedades.Links para referências adicionais são listadas ao final do tópico.

O ValuePattern Controle padrão é usada para oferecer suporte aos controles que têm um valor intrínseco Não expande por um intervalo e que pode ser representado como uma Cadeia de Caracteres.Essa string pode ser editável, dependendo do controle e das suas configurações.Para obter exemplos de controles que implementam esse padrão, consulte Mapeamento de Padrão de Controles para Clientes de Automação de IU.

Este tópico contém as seguintes seções.

Orientações e Convenções de Implementação

Ao implementar o padrão de controle de Value, observe as seguintes diretrizes e convenções:

  • Controles como ListItem() e TreeItem() deve oferecer suporte ValuePattern Se o valor de qualquer um dos itens for Editar possível, independentemente do atual Editar o modo de controle.Também deve oferecer suporte a controle pai ValuePattern Se os itens filhos estiver editáveis.

Exemplo de um item de lista editável

  • Simples - Controles de edição de linha oferece suporte a Acessar através de programação para seu conteúdo implementando IValueProvider.No entanto, os controles de edição de várias linhas não implementam IValueProvider; Em vez disso, eles fornecer acesso a seus conteúdos implementando ITextProvedor.

  • Para recuperar o conteúdo textual de um controle de edição de várias linhas, o controle deve implementar ITextProvedor.No entanto, ITextProvedor Não oferece suporte a configuração do valor de um controle.

  • IValueProvider Não oferece suporte a recuperação de informações sobre formatação ou Subcadeia valores.Implementar ITextProvedor Nesses cenários.

  • IValueProvider deve ser implementado por controles, como o Selecionador de Cores Controle da seleção (ilustrado abaixo), que oferece suporte ao mapeamento entre um valor de cor (por exemplo, "amarelo") e um equivalente de seqüência de caracteres interna Estrutura.

Exemplo de mapeamento de strings em uma amostra de cores

  • Um controle deve ter seu IsEnabledProperty() Definir como verdadeiro e seu IsReadOnlyProperty Definir como false Antes Tudo owing um c Tudo para SetValor(String).

Membros necessários para IValueProvider

O seguintes propriedades e métodos estão necessários para implementação IValueProvider.

Membros Requeridos

Tipo do membro

Anotações

IsReadOnlyProperty

Propriedade

Nenhum

[F:System.Windows.Automation.ValuePadrão.ValueProperty]

Propriedade

Nenhum

[M:System.Windows.Automation.ValorPadrão.SetValor(System.Cadeia de Caracteres)]

Método

Nenhum

Exceções

Provedores precisam lançar as seguintes exceções.

Tipo de exceção

Condição

InvalidOperationException

[M:System.Windows.Automation.ValorPadrão.SetValor(System.Cadeia de Caracteres)]

  • Se informações específicas de localidade forem passadas para um controle em um formato incorreto, como uma data incorretamente formatada.

ArgumentException

[M:System.Windows.Automation.ValorPadrão.SetValor(System.Cadeia de Caracteres)]

  • Se um novo valor não puder ser convertido de uma seqüência de caracteres em um formato que o controle reconheça.

ElementNotEnabledException

[M:System.Windows.Automation.ValorPadrão.SetValor(System.Cadeia de Caracteres)]

  • Quando for feita uma tentativa para manipular um controle que não está ativado.

Consulte também

Tarefas

Support Control Patterns in a UI Automation Provider

Exemplo de texto Inserir ValuePattern

Use Caching in UI Automation

Conceitos

Visão Geral de Padrões de Controle de Automação de Interface de Usuário

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

Visão geral da árvore de automação de interface do usuário