我收到ListView
个ItemsSource
集合,其中设置了ObservableCollection<string>
。
并且,ListView
在其ListView.Items.Filter
属性中包含一个过滤器(作为Predicate<bool,object>
。
因此,假设过滤器可以在不更改自己的引用的情况下更改其行为的条件。
当这些条件发生变化时,我需要让ListView
知道它必须根据新过滤器重建其视图。
我认为唯一的解决方案是
ListView.Items.Filter = ListView.Items.Filter;
这是错误的,但它仍然有效。使用过滤器再次更新每个项目。
那是否有正确的解决方案?
答案 0 :(得分:1)
您需要暂停ICollectionView
绑定的集合视图(ListView
)和Refresh()
它。我不清楚你如何绑定你的数据,但你可以:
听起来你已经完成了后者,在这种情况下你可以使用:
CollectionViewSource.GetDefaultView(theCollection).Refresh();