我想保存和恢复DataGrid
列宽度,我试过这个:
private void dataGrid_LayoutUpdated(object sender, EventArgs e)
{
foreach (var item in dataGrid.Columns.GetEnumeratorWithIndex())
{
Settings.ColumnWidth[item.Index] =
new DataGridLength(item.Value.Width.Value,
DataGridLengthUnitType.Pixel,
item.Value.Width.DesiredValue, item.Value.Width.DisplayValue);
}
}
字符串
恢复:
foreach (var item in dataGrid.Columns.GetEnumeratorWithIndex())
{
item.Value.Width = new
DataGridLength(Settings.ColumnWidth[item.Index].Value,
DataGridLengthUnitType.Pixel,
Settings.ColumnWidth[item.Index].DesiredValue,
Settings.ColumnWidth[item.Index].DisplayValue);
}
型
但不工作,所有列都存储为“自动”。
更新:
的数据
2条答案
按热度按时间w46czmvw1#
尝试使用属性
ActualWidth
:字符串
阅读列大小的示例:
型
XAML:
型
relj7zay2#
创建列属性的字典宽度,并在需要时恢复它们:
字符串