Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 ISelectionProvider, 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 SelectionPattern é usado para dar suporte a controles que atuam como contêineres para uma coleção de itens filho selecionáveis. O filho desse elemento deve implementar ISelectionItemProvider. Para obter exemplos de controles que implementam esse padrão de controle, 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 de Seleção, siga as diretrizes e convenções a seguir:
Controles que implementam ISelectionProvider permitem que itens filho únicos ou múltiplos sejam selecionados. Por exemplo, a caixa de lista, a exibição de lista e a exibição de árvore permitem várias seleções, enquanto a caixa de combinação, o controle deslizante e o grupo de botões de rádio permitem apenas seleção única.
Os controles que têm um intervalo mínimo, máximo e contínuo, como o controle deslizante volume , devem ser implementados IRangeValueProvider em vez de ISelectionProvider.
Controles de seleção única que gerenciam controles filho que implementam IRawElementProviderFragmentRoot, como o controle deslizante Resolução de Tela na caixa de diálogo Propriedades de Exibição ou o controle de seleção Seletor de Cor do Microsoft Word (ilustrado abaixo), devem implementar ISelectionProvider; seus filhos devem implementar IRawElementProviderFragment e ISelectionItemProvider.
Exemplo de Mapeamento de Cadeias de Caracteres de Amostra de Cores
- Os menus não dão suporte a SelectionPattern. Se você estiver trabalhando com itens de menu que incluem elementos gráficos e texto (como os itens do Painel de Visualização no menu Exibir no Microsoft Outlook) e precisar transmitir o estado, você deverá implementar IToggleProvider.
Membros necessários para ISelectionProvider
As propriedades, métodos e eventos a seguir são necessários para a ISelectionProvider interface.
| Membros necessários | Tipo | Anotações |
|---|---|---|
| CanSelectMultiple | Propriedade | Deve dar suporte a eventos de mudança de propriedade usando AddAutomationPropertyChangedEventHandler e RemoveAutomationPropertyChangedEventHandler. |
| IsSelectionRequired | Propriedade | Deve dar suporte a eventos de mudança de propriedade usando AddAutomationPropertyChangedEventHandler e RemoveAutomationPropertyChangedEventHandler. |
| GetSelection | Método | Nenhum |
| InvalidatedEvent | Acontecimento | Gerado quando uma seleção em um contêiner é alterada significativamente e exige o envio de mais eventos de adição e remoção do que a constante InvalidateLimit permite. |
As propriedades IsSelectionRequired e CanSelectMultiple podem ser dinâmicas. Por exemplo, o estado inicial de um controle pode não ter nenhum item selecionado por padrão, indicando que IsSelectionRequired é false. No entanto, depois que um item é selecionado, o controle deve sempre ter pelo menos um item selecionado. Da mesma forma, em casos raros, um controle pode permitir que vários itens sejam selecionados na inicialização, mas, posteriormente, permitir que apenas seleções individuais sejam feitas.
Exceções
Os provedores devem gerar as exceções a seguir.
| Tipo de exceção | Condição |
|---|---|
| ElementNotEnabledException | Se o controle não estiver habilitado. |
| InvalidOperationException | Se o controle estiver oculto. |
Consulte também
- Visão geral dos padrões de controle de automação da interface do 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
- Implementando o padrão de controle SelectionItem de interface de usuário
- Visão geral da árvore de automação da interface do usuário
- Usar armazenamento em cache em automação de interface do usuário