Expansor

O An Expander permite ao utilizador visualizar um cabeçalho e expandi-lo para ver mais detalhes, ou colapsar uma secção até um cabeçalho. O Expander controlo permite apresentar conteúdo numa área expansível que se assemelha a uma janela e inclui um cabeçalho.

Uma captura de ecrã de diferentes tipos de controlos expansores.

Title Description
Crie um Expander com um ScrollViewer Aprenda a criar um controlo Expander que contenha conteúdo complexo com um ScrollViewer.

Definir a direção da área de conteúdo em expansão

Pode definir a área de conteúdo de um Expander controlo para expandir-se numa de quatro direções: Down, Up, Left, ou Right usando a ExpandDirection propriedade . Quando a área de conteúdo é colapsada, apenas o Expander cabeçalho e o botão de alternância aparecem. Um Button controlo que mostra uma seta direcional é usado como botão de alternância para expandir ou colapsar a área de conteúdo. Quando expandido, Expander tenta exibir todo o seu conteúdo numa área semelhante a uma janela.

Controlar o tamanho de um Expansor num painel

Se um Expander controlo estiver dentro de um controlo de layout que herda de Panel, como StackPanel, não especifique a Height em quando Expander a ExpandDirection propriedade está definida para Down ou Up. De forma semelhante, não especifique Width em Expander quando a propriedade ExpandDirection está definida como Left ou Right.

Quando defines uma dimensão de tamanho num Expander controlo na direção em que o conteúdo expandido é exibido, este Expander assume o controlo da área usada pelo conteúdo e apresenta uma borda à sua volta. A borda mostra mesmo quando o conteúdo está colapsado. Para definir o tamanho da área de conteúdo expandida, defina dimensões de tamanho no conteúdo do Expander, ou, se quiser capacidade de scroll, no ScrollViewer que envolve o conteúdo.

Quando um Expander controlo é o último elemento de um DockPanel, o Windows Presentation Foundation (WPF) define automaticamente as Expander dimensões para serem iguais à área restante do DockPanel. Para evitar este comportamento padrão, defina a propriedade LastChildFill no objeto DockPanel para false, ou certifique-se de que o Expander não é o último elemento de um DockPanel.

Criação de conteúdo rolável

Se o conteúdo for demasiado grande para o tamanho da área de conteúdo, pode envolver o conteúdo de um Expander em a ScrollViewer para fornecer conteúdo rolável. O Expander controlo não fornece automaticamente a capacidade de scroll.

Quando coloca um Expander controlo num ScrollViewer, defina a propriedade da dimensão ScrollViewer que corresponde à direção em que o conteúdo Expander se abre para corresponder ao tamanho da área de conteúdo Expander. Por exemplo, se definires a propriedade ExpandDirection em Expander para Down (a área de conteúdo abre para baixo), define a propriedade Height no controlo ScrollViewer para a altura necessária da área de conteúdo. Se, em vez disso, definir a dimensão de altura no próprio conteúdo, ScrollViewer não reconhece essa definição e, por isso, não fornece conteúdo deslizável.

Usando as propriedades de alinhamento

Podes alinhar conteúdo definindo as propriedades HorizontalContentAlignment e VerticalContentAlignment no controlo Expander. Quando defines estas propriedades, o alinhamento aplica-se ao cabeçalho e também ao conteúdo expandido.

Estilos e modelos

Pode modificar os estilos e modelos do Expander controlo para lhe dar uma aparência única. Para mais informações, veja O que são estilos e modelos? e Como criar um modelo para um controlo.

Propriedade de conteúdo

A propriedade de conteúdo do Expander é Content, que representa o conteúdo exibido na área expandida do controlo.

Partes

O Expander controlo tem a seguinte parte nomeada:

Nome da peça Tipo de Peça Description
HeaderSite ToggleButton O botão de alternância que expande e colapsa o expansor.

Estados visuais

A tabela seguinte lista os estados visuais do Expander controlo.

Nome VisualState Nome VisualStateGroup Description
Normal Estados Comuns O controlo está no seu estado normal.
MouseOver Estados Comuns O rato está sobre o controlo.
Disabled Estados Comuns O controlo está desativado.
Focused FocusStates O controlo tem foco no teclado.
Sem foco FocusStates O controlo não está focado no teclado.
Expanded Estados de Expansão O controlo expande-se.
Colapsado Estados de Expansão O controlo colapsou.
Expandir para Baixo ExpandirEstadoDirections O controlo expande-se para baixo.
ExpandUp ExpandirEstadoDirections O controlo expande-se para cima.
ExpandirEsquerda ExpandirEstadoDirections O controlo expande-se para a esquerda.
ExpandirParaDireita ExpandirEstadoDirections O controlo expande-se para a direita.
Válido Estados de Validação O controlo é válido e não tem erros de validação.
FocadoInválido Estados de Validação O controlo apresenta um erro de validação e tem o foco do teclado.
InvalidUnfocused Estados de Validação O controlo tem um erro de validação mas não tem foco no teclado.

Consulte também