Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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
Wpf 通过编程设置DataGrid使用的DataColumn的宽度_Wpf_Datacolumn - Fatal编程技术网

Wpf 通过编程设置DataGrid使用的DataColumn的宽度

Wpf 通过编程设置DataGrid使用的DataColumn的宽度,wpf,datacolumn,Wpf,Datacolumn,我以编程方式将列分配给DataTable,如下所示: myDataTable.Columns.Add(myDataColumn); 有没有办法通过编程设置列的宽度/大小?在vs2010中,我将WPF与C#一起使用 ColumnDefinition col1 = new ColumnDefinition(); col1.Width = GridLength.Auto; ColumnDefinition col2 = new ColumnDefinition(); col2.Width = new

我以编程方式将列分配给DataTable,如下所示:

myDataTable.Columns.Add(myDataColumn);
有没有办法通过编程设置列的宽度/大小?在vs2010中,我将WPF与C#一起使用

ColumnDefinition col1 = new ColumnDefinition();
col1.Width = GridLength.Auto;
ColumnDefinition col2 = new ColumnDefinition();
col2.Width = new GridLength(1,GridUnitType.Star);

grid.ColumnDefinitions.Add(col1);
grid.ColumnDefinitions.Add(col2);

顶部部件将自动调整列的大小,底部部件可以自定义大小。查看此网站以了解更多详细信息--

这将N-1列的大小调整为“自动”,N列的大小调整为“填充”


嗯..数据列没有宽度。你是说它在页面上的显示方式……像网格一样吗?@Scott我希望列在显示时更窄。+1但是你应该养成习惯,把foreach的主体放在{}Patrick谈论的是DataGrid,而不是网格布局!这里提供的是关于网格布局的内容。对于WPF DataGrids,请使用:
col1.Column.Width=newDataGridLength(1,DataGridLengthUnitType.Star)
foreach (var column in dataGrid.Columns)
    column.Width = DataGridLength.Auto;
dataGrid.Columns.Last().Width = DataGridLength.SizeToCells;