C# 在WPF MVVM中使用ICollectionView更新DataGrid

C# 在WPF MVVM中使用ICollectionView更新DataGrid,c#,wpf,mvvm,C#,Wpf,Mvvm,我有一个相当有趣的问题。我在wpf中有一个DataGrid,看起来像: <DataGrid ItemsSource="{Binding View, IsAsync=True, Mode = TwoWay}" AutoGenerateColumns="False" EnableColumnVirtualization="True" EnableRowVirtualiza

我有一个相当有趣的问题。我在wpf中有一个DataGrid,看起来像:

<DataGrid ItemsSource="{Binding View, IsAsync=True, Mode = TwoWay}"
          AutoGenerateColumns="False" 
          EnableColumnVirtualization="True" 
          EnableRowVirtualization="True"
          VirtualizingStackPanel.VirtualizationMode="Standard"
          VirtualizingStackPanel.IsVirtualizing="True">
     COLUMNS
</DataGrid>
并加上:

    public void AddEntity(object obj)
    {
        if(string.IsNullOrEmpty(this.Name))
        {
            MessageBox.Show("Brak nazwy do dodania");
            return;
        }
        var commendation = new Commendation() { Name = this.Name };
        this._catalog.Commendations.Add(commendation);
        this._catalog.SaveChanges();

        var commendationRefresh = new ListCollectionView(this._catalog.Commendations.ToList());
        this.CommendationView = CollectionViewSource.GetDefaultView(commendationRefresh);
        this.CommendationView.Refresh();            

        MessageBox.Show("Nowe źródło polecenia zostało dodane");
    }

正如您所看到的,我试图在add命令中刷新视图,但它不起作用。有什么建议吗?

绑定到推荐视图:

<DataGrid ItemsSource="{Binding CommendationView}" ...

视图模型类必须实现INotifyPropertyChanged接口才能工作:

您已将DataGrid的ItemsSource属性绑定到名为“视图”的属性,但正在刷新名为“推荐视图”的某些属性。您应该刷新DataGrid绑定到的同一视图。
<DataGrid ItemsSource="{Binding CommendationView}" ...
private ICollectionView _commendationView;
public ICollectionView CommendationView
{
    get { return _commendationView; }
    set { _commendationView = value; NotifyPropertyChanged(); }
}