From 952847778c3346091fb318f994e54afff5a2981c Mon Sep 17 00:00:00 2001 From: Johan Appelgren Date: Tue, 23 Apr 2024 23:28:08 +0200 Subject: [PATCH] Don't rely on VisibleColumnCount since it is updated later. --- .../Primitives/DataGridColumnHeadersPresenter.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Controls.DataGrid/Primitives/DataGridColumnHeadersPresenter.cs b/src/Avalonia.Controls.DataGrid/Primitives/DataGridColumnHeadersPresenter.cs index 0ff364bf5e8..e74a91930f8 100644 --- a/src/Avalonia.Controls.DataGrid/Primitives/DataGridColumnHeadersPresenter.cs +++ b/src/Avalonia.Controls.DataGrid/Primitives/DataGridColumnHeadersPresenter.cs @@ -124,7 +124,19 @@ int IChildIndexProvider.GetChildIndex(ILogical child) bool IChildIndexProvider.TryGetTotalCount(out int count) { - count = OwningGrid.ColumnsInternal.VisibleColumnCount; + // VisibleColumnCount is updated the next measure pass after columns are added or removed + // but this is called as the column is being added or removed. + // count = OwningGrid.ColumnsInternal.VisibleColumnCount; + + count = 0; + for (int i = 0; i < Children.Count; i++) + { + if (Children[i] is DataGridColumnHeader { OwningColumn: { IsVisible: true } and not DataGridFillerColumn }) + { + count++; + } + } + return true; }