Implementando o padrão de controle SelectionItem 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 as diretrizes e as convenções para implementar ISelectionItemProvider, incluindo informações sobre propriedades, métodos e eventos. Os links para referências adicionais estão listados no final da visão geral.
O padrão de controle SelectionItemPattern é usado para dar suporte a controles que atuam como itens filho individuais selecionáveis e individuais de controles de contêiner que implementam ISelectionProvider. Para obter os exemplos de controles que implementam o padrão de controle SelectionItem, consulte Mapeamento de padrão de controle para clientes de Automação da Interface do Usuário
Diretrizes e convenções de implementação
Ao implementar o padrão de controle Item de Seleção, observe as seguintes diretrizes e convenções:
- Os controles de seleção única que gerenciam controles filho que implementam IRawElementProviderFragmentRoot, como o controle deslizante de Resolução de Tela na caixa de diálogo Propriedades de Exibição, devem implementar ISelectionProvider e os respectivos filhos devem implementar IRawElementProviderFragment e ISelectionItemProvider.
Membros necessários para ISelectionItemProvider
As propriedades, os métodos e eventos a seguir são necessários para implementar ISelectionItemProvider.
Membros necessários | Tipo de membro | Observações |
---|---|---|
CanSelectMultiple | Propriedade | Nenhum |
IsSelectionRequired | Propriedade | Nenhum |
GetSelection | Método | Nenhum |
InvalidatedEvent | Evento | Gerado quando uma seleção em um contêiner foi alterada significativamente e exige o envio de mais eventos ElementSelectedEvent e ElementRemovedFromSelectionEvent do que a constante InvalidateLimit. |
- Se o resultado de um Select, um AddToSelection ou um RemoveFromSelection for um único item selecionado, um ElementSelectedEvent deverá ser gerado, caso contrário, envie ElementAddedToSelectionEvent/ ElementRemovedFromSelectionEvent conforme apropriado.
Exceções
Os provedores devem gerar as exceções a seguir.
Tipo de exceção | Condição |
---|---|
InvalidOperationException | Quando qualquer uma das seguintes tentativas for realizada: - RemoveFromSelection é chamado em um contêiner de seleção única em que IsSelectionRequiredProperty = true e um elemento já está selecionado.- RemoveFromSelection é chamado em um contêiner de seleção múltipla em que IsSelectionRequiredProperty = true e apenas um elemento é selecionado.- AddToSelection é chamado em um contêiner de seleção única em que CanSelectMultipleProperty = false e outro elemento já está selecionado. |
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
- Implementando o padrão de controle Selection de automação de interface do usuário
- 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
- Amostra de provedor de fragmento