Grid ColumnDefinitions и RowDefinitions допускают пропорциональные единицы (в дополнение к фиксированным пикселям и Auto).
Вот 2 примера:
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="20" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
Первый столбец будет настолько большим, насколько это необходимо для размещения всего содержимого в столбце. Следующая колонка имеет ширину в 20 независимых от устройства пикселей. Оставшаяся ширина сетки будет разделена поровну между оставшимися столбцами. (100% / 4 = 25% в каждом)
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
Этот код разделит 4 столбца на 10%, 40%, 40% и 10% от общей ширины сетки.