Hello,
i implemented a feature "auto fit columns" which just set every column to with = auto:
foreach (var column in ItemGrid.Columns)
{
column.Width = GridViewLength.Auto;
}
After this i will save the ActualWidth of all Columns. This works for all rendered columns, but not for the virtualized (they are always 20 pixels).
I tried a lot workarounds, but nothing works or causes UI glitches (Disable and Enable virtualization):
ItemGrid.EnableColumnVirtualization = false;
foreach (var column in ItemGrid.Columns)
{
column.Width = GridViewLength.Auto;
ItemGrid.ScrollIntoView(null, column);
ItemGrid.UpdateLayout();
column.Width = column.ActualWidth;
column.IsSelected = true;
column.Focus();
column.Width = column.ActualWidth;
}
ItemGrid.UpdateLayout();
SaveLayout();
ItemGrid.EnableColumnVirtualization = true;
I think I need something like the "GridColumnSizer" from Syncfunsion (https://help.syncfusion.com/wpf/datagrid/autosize-columns#customizing-built-in-column-auto-sizing-logic) to calculate the width.
Do you have any ideas how to solve this problem?
regards, Marco