#460 – A GridSplitter Can Share a Cell with Another Control
December 28, 2011 Leave a comment
When using a GridSplitter in a Grid, you often define the Grid so that the GridSplitter is located within its own row (for a horizontal GridSplitter) or column (for a vertical GridSplitter). However, you can also place a GridSplitter in a cell with another control.
In the example below, the horizonal GridSplitter is placed in the first row (of two rows), with two Label controls.
<Grid> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Label Content="Row 0 Col 0" Background="Azure" Grid.Row="0" Grid.Column="0" /> <Label Content="Row 0 Col 1" Background="Lavender" Grid.Row="0" Grid.Column="1" /> <Label Content="Row 1 Col 0" Background="Moccasin" Grid.Row="1" Grid.Column="0" /> <Label Content="Row 1 Col 1" Background="Honeydew" Grid.Row="1" Grid.Column="1" /> <GridSplitter Grid.Row="0" Grid.ColumnSpan="2" Height="3" Background="Blue" VerticalAlignment="Bottom" HorizontalAlignment="Stretch" /> </Grid>
Note that we add the GridSplitter as the last element in the Grid, to make sure that it shows up on top of the Label that it shares a cell with.