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

本文关键字:datagrid wpf | 更新日期: 2023-09-27 18:30:09

这个问题看起来很简单,但不知怎么的,我找不到正确的答案。我在wpf中有数据网格,我想在其中更改c#中的列宽度。代码是

    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没有宽度选项。在这种情况下,如何更改列的宽度?谢谢

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

DataColumn只用于数据,而不是WPF对象,这就是为什么它没有宽度的原因。

您可以在dataGrid1 上设置列的宽度

dataGrid1.Columns[0].Width = 50;

但是,如果您将AutoGenerateColumes设置为true,这可能不起作用,此外,C#代码中的样式设置也不是一种好的做法。

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

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

    dataGrid1.ColumnWidth = 100;