Como: Crie aplicativos de usuário redimensionamento com GridSplitter
Você pode usar o controle GridSplitter em conjunto com a Grid caixa de controles para criar janela layouts que são redimensionáveis pelo usuário em tempo de execução.Por exemplo, em um aplicativo que tenha um interface do usuário dividido em áreas, o usuário pode arrastar um separador para tornar uma área maior, dependendo o que o usuário deseja ver mais do.
Quando você adiciona um GridSplitter controle a um Grid, é um filho do controle de grade e deve ser posicionado em uma linha e uma coluna como qualquer outro controle filho.O GridSplitter deve ter uma diferente de zero largura ou altura, para que o usuário possa capturar e arrastá-lo em tempo de execução.
Algumas práticas recomendadas para GridSplitter incluem o seguinte:
Coloque o GridSplitter em uma linha dedicada ou coluna que não contém quaisquer outros controles.
Defina a altura da linha ou a largura da coluna que contém o GridSplitter como Auto.
Dedicar um único Grid para o GridSplitter.Adicione adicionais recipiente painéis ao Grid para concluir o layout.
Para criar um GridSplitter vertical
No modo Design, selecione Grid.Para obter mais informações, consulte Como: Selecionar e mover elementos na área de design.
Adicione uma coluna onde você deseja GridSplitter seja exibido.Para obter mais informações, consulte Como: Adicionar linhas e colunas a uma grade.
Observação: Em alguns casos, talvez seja difícil posicionar linhas e colunas no designer.Nesse caso, você pode configurar o Grid usando o editor XAML.Consulte a seção exemplo ao final deste tópico para exemplo marcação XAML.
Da Caixa de Ferramentas ,arraste um GridSplitter controle para a coluna adicionada.
Na janela Properties, defina as propriedades a seguir GridSplitter:
Propriedade
Valor
Valores possíveis
ResizeBehavior
BasedOnAlignment
BasedOnAlignment
CurrentAndNext
PreviousAndCurrent
PreviousAndNext
ResizeDirection
Colunas
Auto
Coluna
Rows
Grid.Column
A coluna na qual você deseja GridSplitter.(Coluna números são baseada em zero.)
Grid.ColumnSpan
1
Grid.Row
0
Grid.RowSpan
O número total de linhas na caixa Grid.
Width
Um número diferente de zero.Por exemplo, 10.
Height
Auto
HorizontalAlignment
Stretch
À esquerda
Center
Direita
Stretch
VerticalAlignment
Stretch
Início
Center
Parte Inferior
Stretch
Margin
0
No modo Design, selecione Grid.
Defina a largura de ColumnDefinition que contém o GridSplitter como Automático.
Para criar um GridSplitter horizontal
No modo Design, selecione Grid.Para obter mais informações, consulte Como: Selecionar e mover elementos na área de design.
Adicione uma coluna onde você deseja GridSplitter seja exibido.Para obter mais informações, consulte Como: Adicionar linhas e colunas a uma grade.
Observação: Em alguns casos, talvez seja difícil posicionar linhas e colunas no designer.Nesse caso, você pode configurar o Grid usando o editor XAML.Consulte a seção exemplo ao final deste tópico para exemplo marcação XAML.
Da Caixa de Ferramentas ,arraste um controle GridSplitter para a linha adicionada.
Na janela Properties, defina as propriedades a seguir GridSplitter:
Propriedade
Valor
Valores possíveis
ResizeBehavior
BasedOnAlignment
BasedOnAlignment
CurrentAndNext
PreviousAndCurrent
PreviousAndNext
ResizeDirection
Rows
Auto
Coluna
Rows
Grid.Column
0
Grid.ColumnSpan
O número total de linhas na caixa Grid.
Grid.Row
A coluna na qual você deseja GridSplitter.(Números de linha são baseada em zero.)
Grid.RowSpan
1
Width
Auto
Height
Um número diferente de zero.Por exemplo, 10.
HorizontalAlignment
Stretch
À esquerda
Center
Direita
Stretch
VerticalAlignment
Stretch
Início
Center
Parte Inferior
Stretch
Margin
0
No modo Design, selecione Grid.
Defina a altura de RowDefinition que contém o GridSplitter como Automático.
Exemplo
O XAML a seguir cria um GridSplitter horizontal:
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
<RowDefinition MinHeight="70" />
</Grid.RowDefinitions>
<DockPanel Grid.Row="0" Grid.RowSpan="1" HorizontalAlignment="Stretch" Margin="0" Background="LightBlue" Name="DockPanel1">
</DockPanel>
<GridSplitter Grid.Row="1" Grid.RowSpan="1" ResizeDirection="Rows" Width="Auto" Height="10" HorizontalAlignment="Stretch" Margin="0" Name="GridSplitter1" />
<Grid Grid.Row="2" HorizontalAlignment="Stretch" Margin="0" Background="PaleGoldenrod" Name="Grid1">
</Grid>
</Grid>
Consulte também
Tarefas
Demonstra Passo a passo: Criando um aplicativo de redimensionamento por meio do WPF Designer