#419 – How Cell Sizes are Calculated when Using Star Sizing
October 31, 2011 Leave a comment
You can use star sizing when setting the height of rows or width of columns in a Grid to distribute space in a Grid across multiple rows or columns.
Here’s an example.
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Content="Auto-sized"/>
<Label Grid.Row="1" Content="1* row = 1/6 avail space" />
<Label Grid.Row="2" Content="2* row = 1/3 avail space" />
<Label Grid.Row="3" Content="3* row = 1/2 avail space" />
</Grid>
The space allocated for each star-sized row is calculated as:
- n / sum, where n = number preceding * for that row; sum = sum of all numbers preceding star-sized rows
- Row is given n/sum of the total available space, after allocating space for Auto and Absolute sized rows

