Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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 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 de utilizador, consulte API de automação do Windows: Automação da Interface de Utilizador.
Este tópico apresenta diretrizes e convenções para implementar IExpandCollapseProvider, 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 ExpandCollapsePattern padrão de controlo é usado para suportar controlos que se expandem visualmente para exibir mais conteúdo e se recolhem para ocultar conteúdo. Para obter exemplos de controles que implementam esse padrão de controle, consulte Control Pattern Mapping for UI Automation Clients.
Orientações e convenções de aplicação
Ao implementar o padrão de controle ExpandCollapse, observe as seguintes diretrizes e convenções:
Os controlos agregados — criados com objetos filho que fornecem à interface do utilizador a funcionalidade de expansão/contração — devem oferecer suporte ao ExpandCollapsePattern padrão de controlo, enquanto os seus elementos filho não. Por exemplo, um controlo de caixa de combinação é construído com uma combinação de caixa de listagem, botão e controlos de edição, mas é apenas a caixa de combinação principal que deve suportar o ExpandCollapsePattern.
Observação
Uma exceção é o controle menu, que é uma agregação de objetos MenuItem individuais. Os objetos MenuItem podem oferecer suporte ao ExpandCollapsePattern padrão de controle, mas o controle Menu pai não. Uma exceção semelhante se aplica aos controles Tree e Tree Item.
Quando o ExpandCollapseState de um controle é definido como LeafNode, qualquer ExpandCollapsePattern funcionalidade está atualmente inativa para o controle e as únicas informações que podem ser obtidas usando esse padrão de controle é o ExpandCollapseState. Se algum objeto filho for adicionado posteriormente, as ExpandCollapseState alterações e a funcionalidade ExpandCollapsePattern serão ativadas.
ExpandCollapseState refere-se apenas à visibilidade de objetos filhos imediatos; não se refere à visibilidade de todos os objetos descendentes.
A funcionalidade Expandir e Recolher é específica do controle. A seguir estão exemplos desse comportamento.
O Menu Pessoal do Office pode ser um MenuItem de três estados (Expanded, Collapsed e PartiallyExpanded) onde o controle especifica o estado a ser adotado quando um Expand ou Collapse é chamado.
Ao chamar Expand num TreeItem, pode exibir todos os descendentes ou apenas os filhos imediatos.
Se chamar Expand ou Collapse acionar um controle mantiver o estado de seus descendentes, um evento de alteração de visibilidade deve ser enviado, não um evento de mudança de estado Se o controle pai não mantiver o estado de seus descendentes quando colapsado, o controle pode destruir todos os descendentes que não são mais visíveis e gerar um evento destruído, ou pode alterar o ExpandCollapseState para cada descendente e gerar um evento de mudança de visibilidade.
Para garantir a navegação, é desejável que um objeto esteja na árvore de automação da interface do usuário (com o estado de visibilidade apropriado), independentemente de seus pais ExpandCollapseState. Se os descendentes forem gerados sob demanda, eles só poderão aparecer na árvore de Automação da Interface do Usuário depois de serem exibidos pela primeira vez ou somente enquanto estiverem visíveis.
Membros necessários para IExpandCollapseProvider
As seguintes propriedades e métodos são necessários para a implementação do IExpandCollapseProvider.
Membros obrigatórios | Tipo de membro | Observações |
---|---|---|
ExpandCollapseState | Propriedade | Nenhum |
Expand | Método | Nenhum |
Collapse | Método | Nenhum |
AutomationPropertyChangedEventHandler | Evento | Esse controle não tem eventos associados; Use este delegado genérico. |
Exceções
Os provedores devem lançar as seguintes exceções.
Tipo de exceção | Condição |
---|---|
InvalidOperationException | Ou Expand ou Collapse é chamado quando o ExpandCollapseState = LeafNode. |
Ver também
- Visão geral dos padrões de controle de automação da interface do usuário
- Suportar Padrões de Controle em um Provedor de Automação de Interface do Usuário
- Padrões de Controle de Automação da Interface do Usuário para Clientes
- Navegue entre os elementos de automação da interface do usuário com o TreeWalker
- Visão geral da árvore de automação da interface do usuário
- Use o armazenamento em cache na automação da interface do utilizador