#1,052 – Making Two Columns in a Grid the Same Size
April 16, 2014 Leave a comment
You can force two columns (or rows) in a Grid to always be the same size using the SharedSizeGroup property when defining the columns (or rows).
Below, we specify that the third column should auto-size and that the first and third columns should be the same size. The first column will be sized to match the auto-sized third column. We do the following:
- Set Grid.IsSharedSizeScope property of the Grid to true
- Set SharedSizeGroup property in the first and third ColumnDefinition elements to the same value (in this case it’s “A”)
<Grid Name="myGrid" Grid.IsSharedSizeScope="True"> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition SharedSizeGroup="A"/> <ColumnDefinition /> <ColumnDefinition Width="Auto" SharedSizeGroup="A"/> </Grid.ColumnDefinitions> <Label Content="0,0" Background="Azure" /> <Label Content="1,0" Background="Moccasin" Grid.Row="1" /> <Label Content="Row 0 Col 2" Background="Lavender" Grid.Column="1" /> <Label Content="Row 1 Col 2" Background="Honeydew" Grid.Row="1" Grid.Column="1" /> <Label Content="Row 0 Col 3" Background="LightSalmon" Grid.Column="2" /> <Label Content="Row 1 Col 3" Background="GreenYellow" Grid.Row="1" Grid.Column="2" /> </Grid>