Авторазмер столбца сетки, чтобы занять оставшееся место в родительском

В 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; кажется, что размер этого столбца соответствует ширине содержимого, а не заполняет дополнительное пространство в родительском контейнере. Это оставляет все остальные столбцы не выровненными, и уродливое пустое пространство в конце каждой строки.

Я, вероятно, упускаю что-то простое, но, похоже, я не могу найти метод, который бы соответствовал столбцу соответствующим образом.

Или есть лучший контроль за работой?

Ответы на вопрос(2)

Ваш ответ на вопрос