Дерек Битти прав в своем комментарии.
Если ваш Grid
находится в пределах StackPanel
, а StackPanel
не имеет HorizontalAlignment="Stretch"
(т.е. в направлении, которое не растет), тогда панель стека будет соответствовать его дочерним элементам.
Это аннулирует HorizontalAlignment="Stretch"
в вашем Grid
, поскольку оно может простираться только до его непосредственного родителя (StackPanel
).Тот факт, что это StackPanel
означает, что VerticalAlignment="Stretch"
ничего не делает с внутренней сеткой.
Если вам действительно требуется внутренняя StackPanel
(без точки только с одним дочерним элементом), то добавьте HorizontalAlignment="Stretch"
к этому также.Это не повлияет на вертикальное растяжение.
Лично я бы просто выбросил StackPanel
, который окружает внутренний Grid
, так как он не добавляет значения.