将 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)); } }
我正在处理一个小型 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)); } }