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"
/>