数据网格自动生成的列:增加宽度
本文关键字:增加 数据网 网格 自动生成 数据 | 更新日期: 2023-09-27 17:55:09
有没有办法将自动生成的列的宽度增加固定量?我正在尝试执行以下操作,但它不起作用:
private void dgvMailingList_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
e.Column.Width += 30;
}
即使e.Column.Width = e.Column.Width + 30;
也不起作用,因为Width
的默认UnitType
是Auto
,因此e.Column.Width
返回1.0
而不是实际像素宽度。 UnitType
本身是只读的,所以也不能玩。 ActualWidth
也将设置为0
AutoGeneratingColumn
事件。正确的方法是什么?
引发事件时AutoGeneratingColumns
列尚未在 UI 上呈现。因此,实际宽度为 0.0。
使用Loaded
事件循环列并按所需的常量因子增加宽度。
private void dataGrid_Loaded(object sender, RoutedEventArgs e)
{
foreach (var column in ((DataGrid)sender).Columns)
{
column.Width = new DataGridLength(column.ActualWidth + 30);
}
}