Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在wpf中更改datagrid中的列宽度_C#_Wpf_Datagrid - Fatal编程技术网

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

C# 如何在wpf中更改datagrid中的列宽度,c#,wpf,datagrid,C#,Wpf,Datagrid,这个问题看起来很简单,但不知何故我找不到正确的答案。我有wpf中的datagrid,我想在其中更改c#中列的宽度。代码是 DataTable table = new DataTable(); DataColumn col1 = new DataColumn("From", typeof(string)); table.Columns.Add(col1); table.Columns.Add(new DataColumn("To", typeof(string)))

这个问题看起来很简单,但不知何故我找不到正确的答案。我有wpf中的datagrid,我想在其中更改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没有宽度选项。在这种情况下,如何更改列的宽度?谢谢

DataColumn仅用于数据,而不是WPF对象,这就是它没有宽度的原因

可以在dataGrid1上设置列的宽度

dataGrid1.Columns[0].Width = 50;
…但是,如果您将AutoGenerateColumns设置为true,则这可能不起作用,此外,在C#代码中设置样式也不是一种好的做法


实现完全控制的最佳方法是使用XAML并将每个列绑定到datagrid。这个网站有一个关于数据网格和绑定的很好的指南

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

    dataGrid1.ColumnWidth = 100;