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

Observação

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

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

O padrão de controle ValuePattern é usado para dar suporte a controles que têm um valor intrínseco que não abrange um intervalo e que podem ser representado como uma cadeia de caracteres. Essa cadeia de caracteres pode ser editada dependendo do controle e de suas configurações. Para ver exemplos de controles que implementam esse padrão, confira Mapeamento de padrões de controle para clientes da Automação da Interface do Usuário.

Diretrizes e convenções de implementação

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

  • Controles como ListItem e TreeItem deverão dar suporte a 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, 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 precisa implementar ITextProvider. No entanto, ITextProvider não dá suporte à configuração do valor de um controle.

  • IValueProvider não dá suporte à recuperação de informações de formatação ou de valores de substring. 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 Observaçõ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 a uma localidade são passadas para um controle em um formato incorreto, tal como uma data formatada incorretamente.
ArgumentException SetValue

– Se um novo valor não pode 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.

Confira também