我有使用CollectionViewSource的经验,可以使用MVVM模式实现排序,分组和过滤。但是我很好奇是什么时候引发了CollectionViewSource.Filter事件。我通常的方式就像MSDN,但这只是注册事件,不像Button.Click我没有看到任何提升此事件的地方,例如通过键盘或鼠标。 那么有人可以解释一下吗?谢谢!
答案 0 :(得分:4)
如果您的过滤器条件在您的视图模型代码中调用ICollectionView.Refresh
,则可以手动重新评估过滤器:
collectionViewSource.View.Refresh();
您可以在进行批量修改时阻止重复调用过滤器:
using (collectionViewSource.DeferRefresh())
{
// update your collection in here
}