Compartilhar via


Como: Redimensionar colunas com um GridSplitter

Este exemplo mostra como criar um GridSplitter vertical para redistribuir o espaço entre duas colunas em uma Grid sem alterar as dimensões da Grid.

Exemplo

Como criar um GridSplitter que sobrepõe a borda de uma coluna

To specify a GridSplitter that resizes adjacent columns in a Grid, set the Column attached property to one of the columns that you want to resize. Se sua Grid tiver mais de uma linha, defina a propriedade anexa RowSpan como sendo o número de linhas. Em seguida, defina a propriedade HorizontalAlignment como Left ou Right (o alinhamento que você define depende de quais duas colunas você deseja redimensionar). Finalmente, defina a propriedade VerticalAlignment como Stretch.

O exemplo a seguir mostra como definir um GridSplitter vertical que redimensiona colunas adjacentes. For the complete sample, see GridSplitters que redimensionar linhas e colunas de exemplo.

<GridSplitter Grid.Column="1" 
              Grid.RowSpan="3" 
              HorizontalAlignment="Left" 
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="true"
              Width="5"/>

Um GridSplitter que não tem sua própria coluna pode ficar obscuro por outros controles na Grid. Para obter mais informações sobre como evitar que esse problema, consulte Como: Make Sure That a GridSplitter Is Visible.

Como criar um GridSplitter que ocupa uma coluna

To specify a GridSplitter that occupies a column in a Grid, set the Column attached property to one of the columns that you want to resize. Se seu Grid tiver mais de uma linha, defina a propriedade anexa RowSpan como sendo o número de linhas. Então defina o HorizontalAlignment para Center, defina a propriedade VerticalAlignment para Stretch, e defina o Width da coluna que contém o GridSplitter para Auto.

O exemplo a seguir mostra como definir um GridSplitter vertical que ocupa uma coluna e redimensiona as colunas em um dos lados. For the complete sample, see GridSplitters que redimensionar linhas e colunas de exemplo.

<Grid.ColumnDefinitions>
  <ColumnDefinition/>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition/>
</Grid.ColumnDefinitions>


...


<GridSplitter Grid.Column="1"
              HorizontalAlignment="Center"
              VerticalAlignment="Stretch"
              Background="Black" 
              ShowsPreview="True"
              Width="5"
              />

Consulte também

Referência

GridSplitter

Outros recursos

Exemplos de GridSplitter

Tópicos de Como Fazer em GridSplitter