Определение столбца сетки / определение строки определяют макет, и в пределах определенных областей вы должны добавить элементы управления, которые должны быть стилизованы (используя прикрепленные свойства, так как это может быть утомительным), поэтому старайтесь не стилизовать определения строк / определений столбцов.
Предметы для укладки:
Вы можете ввести элемент управления в строку / столбец следующим образом (извините, если я опекаю):
<Rectangle Grid.Row="0" Grid.Column="0" ></Rectangle>
Затем определяют стиль элемента управления в строке / столбце.
<Rectangle Grid.Row="0" Grid.Column="0" Style="{StaticResource DarkBackground}"></Rectangle>
Размеры (звездные значения):
Примечание. Сетка будет динамически заполнять доступную область по мере того, как будет стоять ваш код, и вам потребуется применять звездные значения только в том случае, если вы определите фиксированную высоту и ширину сетки и захотите пропорциональное распределение оставшегося пространства.
Другими словами ... в отношении достижения "звездного значения":
То, что я надеюсь сделать, это предоставить
звездное значение для высоты и ширины
определения столбцов и строк.
Почему бы просто не ввести это значение в свои определения ?:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Name="rdRank" Height="500" />
<RowDefinition Name="rdRank1" Height="60*" />
<RowDefinition Name="rdRank2" Style="40*" />
</Grid.RowDefinitions>
</Grid>
В этом примере определение строки с именем "rdRank" будет иметь фиксированную высоту "500", а оставшееся пространство будет выделено для "rdRank1", который займет 60%, а "rdRank2" - 40%.
** Прилагаемые свойства: **
В вашем стиле:
<Style x:Key="RankStyle">
<Setter Property="Control.Height" Value="0.12" />
</Style>
Вы указываете, что любой элемент управления в элементе, к которому применяется этот стиль, имеет свойство Высота, которое должно принимать значение 0,12. Control.Height закончится фильтрацией, так сказать.
Если вы стремитесь достичь высоты 0,12 * в строке, используйте:
<Style x:Key="NewRankStyle" TargetType="{x:Type RowDefinition}">
<Setter Property="Height" Value="0.12*" />
</Style>
..
<Grid>
<Grid.RowDefinitions>
<RowDefinition Name="rdRank" Style="{StaticResource FileHeadingStyle}" />
<RowDefinition Name="rdRank1" Style="{StaticResource NewRankStyle}" />
Использование 'TargetType' позволяет вам задавать специфические для Type свойства и, как следствие, позволяет использовать звездные значения.
Надеюсь, это прояснит для вас несколько понятий.