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.
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.
Exemplo de Mapeamento de Cadeias de Caracteres de Amostra de Cores
- Um controle deve ter seu IsEnabledProperty definido como
true
e seu IsReadOnlyProperty definido comofalse
antes de permitir uma chamada para SetValue.
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
- Visão Geral de Padrões de Controle de Automação de Interface de Usuário
- Padrões de controle de suporte em um provedor de automação da interface do usuário
- Padrões de Controle para Clientes de Automação de IU
- Exemplo de texto de inserção de ValuePattern
- Visão geral da árvore de automação de interface do usuário
- Usar armazenamento em cache em automação de interface do usuário