如何更改wpf中datagrid中列的宽度

问题描述:

看起来像一个简单的问题,但不知何故,我找不到正确的答案。我有wpf中的datagrid,我想在其中更改c#中列的宽度。代码是如何更改wpf中datagrid中列的宽度

DataTable table = new DataTable(); 
    DataColumn col1 = new DataColumn("From", typeof(string)); 
    table.Columns.Add(col1); 
    table.Columns.Add(new DataColumn("To", typeof(string))); 
    table.Columns.Add(new DataColumn("Occurrence", typeof(int))); 

    dataGrid1.ItemsSource = table.DefaultView; 

但是DataColumn没有宽度选项。在这种情况下如何改变列的宽度?谢谢。

我找到正确的解决方案。只需加上

dataGrid1.ColumnWidth = 100; 

DataColumn仅用于数据,不是WPF对象,这就是为什么它没有宽度。

您可以设置列宽在DataGrid1中

dataGrid1.Columns[0].Width = 50; 

...但是,如果你有设置为true,这可能无法正常工作的AutoGenerateColumns,此外在C#代码风格是不是好的做法。

完全控制的最佳方法是使用XAML并将每列绑定到数据网格。本网站有一个很好的指南datagrids和绑定http://www.wpftutorial.net/datagrid.html