C#Wpf数据网格最后一列宽度=“*";折叠其他列
本文关键字:quot 其他 折叠 一列 网格 数据网 数据 最后 C#Wpf | 更新日期: 2023-09-27 18:28:38
我使用的是一个相对于窗口大小水平拉伸的数据网格。
因为我想去掉右侧生成的额外列,所以我将除最后一列外的所有列大小都设置为"自动"。我将最后一列的大小设置为"*"。
最后我去掉了右侧生成的多余列。
但现在,当我用信息填充数据网格时,除了最后一列之外,所有列的大小都会塌陷到它们的标题宽度。
为什么列有其标题的宽度?我将它们的宽度设置为"自动",它们也应该尊重它们的单元格大小。
注意:我不想为列设置最小宽度,它们应该根据列和单元格的大小自动调整大小。
谢谢。。
尝试使用以下代码:
private void FitToContent()
{
int numCols ;
int i ;
numCols = dg.Columns.Count() ;
i = 0 ;
// where dg is your data grid's name...
foreach (DataGridColumn column in dg.Columns)
{
if(i < numCols - 1)
{
//if you want to size ur column as per the cell content
column.Width = new DataGridLength(1.0, DataGridLengthUnitType.SizeToCells);
//if you want to size ur column as per the column header
column.Width = new DataGridLength(1.0, DataGridLengthUnitType.SizeToHeader);
//if you want to size ur column as per both header and cell content
column.Width = new DataGridLength(1.0, DataGridLengthUnitType.Auto);
}
else
{
column.Width = new DataGridLength(1.0, DataGridLengthUnitType.Star);
}
i++ ;
}
}
确保将所有列的HorizontalScrollVisibility保持为Auto