将 DataGrid ItemSsource 绑定到 CollectionView 不起作用

Binding DataGrid ItemSource to CollectionView does not work

我正在处理一个小型 WPF 项目,需要将 CollectionView 绑定到 DataGrid。因此,我在方法中调用以下命令来设置 CollectionView 的数据:

 BlInvoicesCollectionView = (CollectionView)CollectionViewSource.GetDefaultView(BlInvoices);
BlInvoicesCollectionView.Filter = FilterBlInvoices;

BlInvoices 只是一个普通列表,其中包含我创建的模型的项目。当我删除代码时,CollectionView 包含它应该包含的值。但是,项目没有显示在 DataGrid 中,我还不知道为什么。

如果您有一个名为 BlInvoicesCollection 的 BlInvoices (List<BlInvoices>) 类型的列表,那么您可以简单地使用:

dataGrid.ItemsSource = BlInvoicesCollection;

通过实现一个新的 属性 类型的 CollectionView 解决了我的问题,它在每次设置时调用 PropertyChanged。

public CollectionView BlInvoicesCollectionView { get{ return blInvoicesCollectionView; } 
            set { blInvoicesCollectionView = value; OnPropertyChanged(nameof(BlInvoicesCollectionView)); } }