Растяжение столбцов для заполнения всего доступного пространства DataGrid - PullRequest
10 голосов
/ 29 июля 2011

Можно ли растянуть столбцы или последний столбец, чтобы заполнить все доступное пространство сетки данных?

<DataGrid Grid.Row="0" AutoGenerateColumns="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Name="dataGrid1"   ItemsSource="{Binding Customers}" />

Мои столбцы создаются автоматически.

Ответы [ 4 ]

12 голосов
/ 29 июля 2011

Да, я думаю, вы ищете свойство AutoSizeMode .

int n = grid.Columns.Count;
grid.Columns[n].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

Редактировать: Попробуйте установить ширину "*", как показано ниже.Вам придется сделать это в коде, если ваши столбцы генерируются автоматически.

<DataGrid>
  <DataGrid.Columns>
    <DataGridTextColumn Width="Auto" />
    <DataGridTextColumn Width="*" />
  </DataGrid.Columns>
</DataGrid>
0 голосов
/ 05 июня 2019

Поскольку подавляющее большинство ответов, которые я нашел по этой теме, относится к XAML, вот решение C # для установки всех столбцов для заполнения доступного пространства в сетке данных.

    foreach (var column in this.datagrid.Columns)
    {
        column.Width = new DataGridLength(1, DataGridLengthUnitType.Star);
    }
0 голосов
/ 30 апреля 2013

DataGrid.Columns [x] .Width = DataGridLength.Auto;

0 голосов
/ 10 мая 2012

Попробуйте этот подход, ребята, я написал его сегодня утром, надежный и надежный, с учетом столбцов ширины в процентах, занимающих все доступное пространство. https://stackoverflow.com/a/10526024/41211

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...