diff --git a/src/TableView.cs b/src/TableView.cs index f5fff8f6..7ac7eeae 100644 --- a/src/TableView.cs +++ b/src/TableView.cs @@ -105,15 +105,16 @@ private void OnCollectionViewPropertyChanging(object? sender, PropertyChangingEv /// /// Handles the PropertyChanged event of the CollectionView. /// - private async void OnCollectionViewPropertyChanged(object? sender, PropertyChangedEventArgs e) + private void OnCollectionViewPropertyChanged(object? sender, PropertyChangedEventArgs e) { if (e.PropertyName == nameof(CollectionView.CollectionGroups)) { _collectionView.CollectionGroups?.VectorChanged += OnCollectionViewGroupDescriptionsChanged; + // Detach and reattach so the ListView rebuilds its groups. Both in one go: yielding between them let a + // frame render the table empty, a visible flicker on every grouping change. _shouldThrowBaseProeprtyChangedException = false; base.ItemsSource = null; - await Task.Yield(); base.ItemsSource = _collectionView; _shouldThrowBaseProeprtyChangedException = true; }