Partilhar via


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

Este tópico apresenta diretrizes e convenções para a implementação IExpandCollapseProvedorIncluindo informações sobre propriedades, métodos e eventos.Links para referências adicionais são listadas no final da revisão.

O ExpandCollapsePattern Controle padrão é usada para oferecer suporte aos controles que visualmente para exibir o conteúdo mais Expandirem e recolher para ocultar o conteúdo.Para obter exemplos de controles que implementam esse padrão de controle, consulte Mapeamento de Padrão de Controles para Clientes de Automação de IU.

Este tópico contém as seguintes seções.

Orientações e Convenções de Implementação

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

  • Agregação controles — criados com os objetos filho que fornecem funcionalidade expandir/recolher o interface do usuário — deve oferecer suporte a ExpandCollapsePattern Controle padrão enquanto seus elementos filho não.Por exemplo, um controle caixa de combinação é criado com uma combinação de caixa de listagem, botão e Editar controles, mas ela é apenas o caixa de combinação pai que deve oferecer suporte a ExpandCollapsePattern.

    Observação:

    Uma exceção é o controle menu, que é um agregado de objetos individuais MenuItem.Os objetos MenuItem podem oferecer suporte a ExpandCollapsePattern Padrão de controle, mas o menu controle pai não é possível.Uma exceção similar se aplica a controles Tree e TreeItem.

  • Quando o ExpandCollapseState de um controle é definido como LeafNode()Qualquer ExpandCollapsePattern a funcionalidade é inAtivo no momento para o controle e a única informação que pode ser obtida usando esse controle padrão é o ExpandCollapseState.Se quaisquer objetos filho forem adicionados subseqüentemente, o ExpandCollapseState As alterações e ExpandCollapsePattern a funcionalidade é ativada.

  • ExpandCollapseState Refere-se à visibilidade do objetos filhos imediatos somente; Ele não se refere a visibilidade de todos os objetos descendentes.

  • A funcionalidade de expandir e recolher é específica de cada controle.A seguir temos exemplos desse comportamento.

    • O menu particular do Office pode ser um (MenuItem de Três Páginas-estadoExpanded, Collapsed e PartiallyExpanded onde o controle especifica o estado para adotar quando um [M:System.Windows.Automation.ExpandCollapsePadrão.Expand] ou Collapse é chamado.

    • Chamando [M:System.Windows.Automation.ExpandCollapsePadrão.Expand] Pode exibir todos os descendentes ou filhos imediatos somente um TreeItem.

    • Se chamar [M:System.Windows.Automation.ExpandCollapsePadrão.Expand] ou Collapse Em um controle mantém o estado de seus descendentes, um evento de alteração de visibilidade deve ser enviado, não um estado Alterar evento se o controle pai não mantém o estado de seus descendentes Quando recolhido, o controle pode destruir todos os descendentes que não estão mais visível e elevar um evento destruído; Ou ele pode alterar o ExpandCollapseState() Para cada descendente e aumentar uma visibilidade Alterar evento.

  • Para garantir de navegação, é desejável para um objeto a ser o Relação de árvore (com estado visibilidade apropriada) Menos de seus pais ExpandCollapseState.Se descendentes são geradas por demanda, eles só podem aparecer na árvore após sendo exibidos para o primeiro tempo ou apenas enquanto estiverem Visível.

Membros necessários para IExpandCollapseProvider

O seguintes propriedades e métodos estão necessários para implementação IExpandCollapseProvedor.

Membros Requeridos

Tipo do membro

Anotações

ExpandCollapseState()

Propriedade

Nenhum

[M:System.Windows.Automation.ExpandCollapsePadrão.Expand]

Método

Nenhum

Collapse

Método

Nenhum

AutomationPropertyChangedEventHandler

Evento

Este controle não tem eventos associados; use este delegado genérico.

Exceções

Provedores precisam lançar as seguintes exceções.

Tipo de exceção

Condição

InvalidOperationException

Ambos [M:System.Windows.Automation.ExpandCollapsePadrão.Expand] ou Collapse é chamado quando o ExpandCollapseState = LeafNode().

Consulte também

Tarefas

Support Control Patterns in a UI Automation Provider

Navigate Among UI Automation Elements with TreeWalker

Use Caching in UI Automation

Conceitos

Visão Geral de Padrões de Controle de Automação de Interface de Usuário

Padrões de Controle para Clientes de Automação de IU

Visão geral da árvore de automação de interface do usuário