Это не ответ на ваш вопрос, просто некоторая информация.
* в поле Высота (или ширина столбцов) означает, что ширина строки (или столбца) Высота = "*" (или Ширина = "*") займет оставшуюся часть пространства. Так что если у вас есть сетка с 4 строками в сетке с высотой = "100", если вы сделаете это:
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<RowDefinition Height="10" />
<RowDefinition Height="10" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
Ширина строки Height = "*" составит 70 DIU (независимых от устройства единиц).
Добавление числа перед звездочкой (Высота = "2 *") работает только в том случае, если звездочкой используется более одной строки, число перед звездочкой указывает, сколько места займет эта конкретная строка (2 * = дважды столько же, 3 * в три раза больше, так далее ...). I. E.:
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<RowDefinition Height="10" />
<RowDefinition Height="2*" /> <!-- this row will be twice as tall as the one below -->
<RowDefinition Height="*" />
</Grid.RowDefinitions>
Здесь 3-й ряд будет иметь высоту 54 DIU (в два раза больше, чем 4-й ряд, который имеет высоту приблизительно 26 DIU), обе высоты составляют сумму 80, которая является остальной частью пространства сетки (10 + 10 + 26 + 54 = 100, высота сетки).
Кстати, я согласен с ответом Чарли.