Авторасширение столбцов Datagrid в WPF

Рейтинг: 0Ответов: 1Опубликовано: 18.05.2023

В старом проекте у меня всегда работал параметр Width="*" у DataGridTextColumn. Но в новых проектах оно работает некорректно. Может кто сталкивался с подобным?

Код

    <DataGrid x:Name="dgr" AutoGenerateColumns="False" IsReadOnly="True">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Номер абонента" Width="*" Binding="{Binding NumberAbonent}"/>
                <DataGridTextColumn Header="ФИО" Width="*" Binding="{Binding FIO}"/>
                <DataGridTextColumn Header="Номер договора" Width="*" Binding="{Binding NumberDogovora}"/>
                <DataGridTextColumn Header="Лицевой счёт" Width="*" Binding="{Binding LicevoySchet}"/>
                <DataGridTemplateColumn Header="Действие" Width="*">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Button x:Name="checkFullInfo_btn" Content="Открыть" Click="checkFullInfo_btn_Click"/>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>

Как работало раньше: Правильное отображение

Как работает сейчас: Неправильное отображение

Ответы

▲ 0

Нашёл ответ: если у контейнера (Page или Window), в который вложен DataGrid явно не указано значение Width, а, например, только MinWidth, тогда происходит такая ситуация.