DataGrid-Column widths not updating on ItemsSource change

后端 未结 4 723
执笔经年
执笔经年 2020-12-19 16:43

XAML:


    

        
4条回答
  •  一生所求
    2020-12-19 17:10

    For everyone's convenience, here is an extension method based on David's answer:

    public static void AutoResizeColumnWidths(this System.Windows.Controls.DataGrid dataGrid)
    {
        // http://stackoverflow.com/questions/4725724/wpf-datagrid-column-widths-not-updating-on-itemssource-change
        foreach (var column in dataGrid.Columns)
            column.Width = 0;
    
        dataGrid.UpdateLayout();
    
        foreach (var column in dataGrid.Columns)
            column.Width = System.Windows.Controls.DataGridLength.Auto;
    
        dataGrid.UpdateLayout();
    }
    

    And how it would be called:

    dataGrid.AutoResizeColumnWidths();
    

提交回复
热议问题