Partilhar via


Implementando o padrão de controle de valor da automação da interface do usuário

Nota

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

Este tópico apresenta diretrizes e convenções para implementação IValueProvider, incluindo informações sobre eventos e propriedades. Links para referências adicionais estã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 suas configurações. Para obter exemplos de controles que implementam esse padrão, consulte Mapeamento de padrão de controle para clientes de automação da interface do usuário.

Orientações e convenções de aplicação

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

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

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

  • Os controles de edição de linha única suportam o acesso programático ao seu conteúdo implementando IValueProvidero . No entanto, os controles de edição de várias linhas não implementam IValueProvider, em vez disso, 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 suporta a definição do valor de um controle.

  • IValueProvider não suporta a recuperação de informações de formatação ou valores de substring. Implemente ITextProvider nesses cenários.

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

Seletor de cores com amarelo realçado. Exemplo de mapeamento de cadeia de caracteres de amostra de cores

Membros necessários para IValueProvider

As seguintes propriedades e métodos são necessários para a implementação do IValueProvider.

Membros obrigatórios Tipo de membro Notas
IsReadOnlyProperty Property Nenhuma
ValueProperty Property Nenhuma
SetValue Método Nenhuma

Exceções

Os provedores devem lançar as seguintes exceções.

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

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

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

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

Consulte também