我正在使用相对于窗口大小水平延伸的数据网格。
因为我想摆脱右侧生成的额外列,所以我将所有列大小设置为“自动”,除了最后一列。我将最后一列的大小设置为“*”。
最后我摆脱了右侧生成的额外列。
但是现在,当我用信息填充数据网格时,除了最后一列之外的所有列大小都会折叠到它们的标题宽度。
为什么列有标题的宽度?我将它们的宽度设置为“自动”,它们也应该尊重它们的单元格大小。
注意:我不想为列设置 MinWidths,它们应该根据列和单元格大小自动调整大小。
谢谢..
try using the following code:
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++ ;
}
}
Make sure you keep HorizontalScrollVisibility to Auto for all columns