Когда я помещаю текстовое поле в столбец сетки, как показано ниже
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="115"/>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="90"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="hello"/>
<TextBox Grid.Column="1" />
<Button Grid.Column="2" Content="push me"/>
</Grid>
</StackPanel>
, я получаю правильный результат, то есть ширина текстового поля получается из родительской сетки
Но когда я набираю длинный текст, текстовое поле начинает превышать свой столбец и перестает расширяться после нескольких дополнительных букв
В .Net 4.6.2 я получаю тот же результат, но при переходе на .Net 4.7.2 проблема решена, т.е. ширина текстового поля не меняется. Мое программное обеспечение скомпилировано .Net 4.0, есть ли решение, чтобы решить эту проблему для более низкого .net, чем 4.7.2?
Первая идея для Павла: удалить панель стека и добавить еще одну строку сетки, все еще не работая в .net4.6.2
Вторая идея для Павла: сделать ширину первого столбца «Авто» вместо «1 *». Это работает, текстовое поле не расширяется (.net 4.6.2), однако я действительно хотел, чтобы первый и второй столбцы реагировали на изменение размера.