Почему текстовое поле не растягивается, чтобы заполнить пространство в стековой панели? Это задумано? В сетке текстовое поле растягивается должным образом.





Да, это задумано. StackPanel выделит место, которое запрашивает TextBox. Если вы не установили ширину на TextBox, ему потребуется только ширина, достаточная для размещения текста.
Ответ Кента кажется правильным. Чтобы по-прежнему принудительно переопределить поведение StackPanel, я думаю, вам нужно динамически вычислить свойство Width содержащихся элементов ИЛИ какое-то забавное переопределение MeasureOverride. Я бы предпочел использовать другой менеджер / панель компоновки. Кое-что я заметил ..
StackPanel будет растягивать элементы в зависимости от значения свойства Orientation. Так
The default value is stretch for both HorizontalAlignment and VerticalAlignment of content that is contained in a StackPanel.
When Height and Width properties are explicitly set on an element, these measurements take higher precedent during layout and will cancel the typical effects of setting HorizontalAlignment to Stretch.
Мне нужно было, чтобы предметы были одинакового размера, но располагались вертикально.
Я использовал UniformGrid и установил для свойства Columns значение 1. (проверено с помощью TextBox, и оно растягивается, как вы хотите)
Это был точный ответ, который мне нужен для решения аналогичной проблемы с макетом кнопок. Спасибо!