Cześć.
Mam problem z przeładowaniem danych w DataGrid.

We ViewModelu zdefiniowałem i zainicjalizowałem zmienną typu ObservableCollection.
W ViewModelu oczywiście odziedziczyłem inną klasę która sama dziedziczy z INotifyCollectionChanged oraz implementuje medotę NotifyCollectionChanged.

Zbindowałem ItemSource do zmiennej.

public ObservableCollection<RouteUserDocumentPosition> zmienna
        {
            get => routes;
            set
            {
                routes = value;
                base.NotifyCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction.Add);
            }
        }

protected void NotifyCollectionChanged(NotifyCollectionChangedAction action , [CallerMemberName]string propertyName = "")
        {
            switch(action)
            {
                case NotifyCollectionChangedAction.Reset:
                    this.CollectionChanged?.Invoke(this , new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
                    break;

                case NotifyCollectionChangedAction.Add:
                    this.CollectionChanged?.Invoke(this , new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add , propertyName));
                    break;
            }
        }
<DataGrid
        x:Name="DataGrid"
        Margin="0,0,0,0"
        HorizontalContentAlignment="Stretch"
        VerticalContentAlignment="Stretch"
        AutoGenerateColumns="False"
        CanUserAddRows="False"
        CanUserDeleteRows="False"
        ItemsSource="{Binding zmienna}">

Niestety przy przeładowaniu danych w ObservableCollection nie widzę żadnych zmian na widoku, a powinienem zauważyć zmianę koloru wiersza.

await Application.Current.Dispatcher.BeginInvoke(
                System.Windows.Threading.DispatcherPriority.Normal,
                new Action(() =>
                {
                    foreach (RouteUserDocumentPosition document in documentsPositions)
                        zmienna.Add(document);
                    base.NotifyCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedAction.Add);
                }));

Na początku podejrzewałem że może być wymagane operowanie na głównym wątku. Następnie że jednak ObservableCollection nie zauważa zmiany. Teraz już nie mam pomysłu.
Co może być powodem nie przeładowywania zmiennych?