2014-01-17 2 views
0

У меня есть DataGrid, который является horizontally stretched, содержащий one column. проблема в том, что DataGrid получает пропуск, но столбец остается таким же. Как я могу заставить его заполнить DataGrid. Все делается динамически, как это сделать с кодом.Таблица DataGrid Заполняет размер Datagrid Динамически

var datagridDetails = new DataGrid 
{ 
    AutoGenerateColumns = false, 
    VerticalAlignment = VerticalAlignment.Top, 
    HorizontalAlignment = HorizontalAlignment.Stretch 
}; 

var columnDetails = new DataGridTextColumn 
{ 
    Header = "Details", 
    CanUserSort = false, 
    CanUserResize = false, 
    Binding = new Binding("Details"), 
    Width = StackPanelContent.ActualWidth/2 - 8 //hacking through it but not working quite well 
}; 

ответ

1

В XAML это будет:

<DataGrid ColumnWidth = "*"/> 

или

<DataGridTextColumn Width="*" /> 

На самом определении столбца.

Не знаете, как это сделать в коде.

Edit:

Нашел, это было бы:

var columnDetails = new DataGridTextColumn 
{ 
    Header = "Details", 
    CanUserSort = false, 
    CanUserResize = false, 
    Binding = new Binding("Details"), 
    Width = new DataGridLength(1.0, DataGridLengthUnitType.Star) 

};

+0

Да, я искал и путь XAML '' * "', но я не нашел код способа – ADi

+0

@ADi Я добавил редактирование. Должно быть то, что вы ищете. – TylerD87

+0

возможно bcoz авто, он включен, y дает как можно большую ширину, чем контент. не работал – ADi

Смежные вопросы