Авторазмер столбца сетки, чтобы занять оставшееся место в родительском
В WPF я трачу время на то, чтобы правильно настроить размер сетки.
У меня есть следующий макет для моей сетки:
<ItemsControl HorizontalContentAlignment="Stretch">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" />
<Label Grid.Column="1"/>
<TextBox Grid.Column="2"/>
<Button Grid.Column="3"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Проблема в том, что Width = & quot; Auto & quot; кажется, что размер этого столбца соответствует ширине содержимого, а не заполняет дополнительное пространство в родительском контейнере. Это оставляет все остальные столбцы не выровненными, и уродливое пустое пространство в конце каждой строки.
Я, вероятно, упускаю что-то простое, но, похоже, я не могу найти метод, который бы соответствовал столбцу соответствующим образом.
Или есть лучший контроль за работой?