Compartilhar via


Implementando o Padrão Controle de Value de Automação de Interface de Usuário

Observação

Esta documentação destina-se a desenvolvedores do .NET Framework que desejam usar as classes de Automação de Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre Automação de Interface do Usuário, consulte API de Automação do Windows: Automação de Interface do Usuário.

Este tópico apresenta diretrizes e convenções para a implementação de IValueProvider, incluindo informações sobre eventos e propriedades. Links para referências adicionais são listados no final do tópico.

O ValuePattern padrão de controle é usado para dar suporte a controles que têm um valor intrínseco que não abrange um intervalo e que pode ser representado como uma cadeia de caracteres. Essa cadeia de caracteres pode ser editável, dependendo do controle e de suas configurações. Para obter exemplos de controles que implementam esse padrão, consulte Mapeamento de padrões de controle para clientes de automação de interface do usuário.

Diretrizes e convenções de implementação

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

  • Controles como ListItem e TreeItem devem dar suporte ValuePattern se o valor de qualquer um dos itens for editável, independentemente do modo de edição atual do controle. O controle pai também deverá dar suporte a ValuePattern se os itens filho forem editáveis.

Item de lista editável. Exemplo de um item de lista editável

  • Controles de edição de linha única dão suporte ao acesso programático ao seu conteúdo implementando IValueProvider. No entanto, os controles de edição de várias linhas não implementam IValueProvider; em vez disso, eles fornecem acesso ao seu conteúdo implementando ITextProvider.

  • Para recuperar o conteúdo textual de um controle de edição de várias linhas, o controle deve implementar ITextProvider. No entanto, ITextProvider não dá suporte à definição do valor de um controle.

  • IValueProvider não dá suporte à recuperação de informações de formatação ou valores de subcadeia de caracteres. Implemente ITextProvider nesses cenários.

  • IValueProvider deve ser implementado por controles como o controle de seleção Seletor de Cor do Microsoft Word (ilustrado abaixo), que dá suporte ao mapeamento de cadeias de caracteres entre um valor de cor (por exemplo, "amarelo") e uma estrutura RGB interna equivalente.

Seletor de cor com o amarelo realçado. Exemplo de Mapeamento de Cadeias de Caracteres de Amostra de Cores

Membros necessários para IValueProvider

As propriedades e os métodos a seguir são necessários para implementar IValueProvider.

Membros necessários Tipo de membro Anotações
IsReadOnlyProperty Propriedade Nenhum
ValueProperty Propriedade Nenhum
SetValue Método Nenhum

Exceções

Os provedores devem gerar as exceções a seguir.

Tipo de exceção Condição
InvalidOperationException SetValue

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

- Se um novo valor não puder ser convertido de uma cadeia de caracteres em um formato que o controle reconhece.
ElementNotEnabledException SetValue

- Quando é feita uma tentativa de manipular um controle que não está habilitado.

Consulte também