【发布时间】:2020-07-31 10:52:36
【问题描述】:
我有一个由谓词过滤的CollectionView。当我调试它时,我可以看到结果视图只包含与过滤器匹配的项目。但是,当我使用MoveCurrentTo*()-方法时,CurrentItem-指针似乎在未过滤的源集合中移动,而不是在过滤的源集合中移动,即它不会带我到下一个(/上一个/第一个/最后一个)项目匹配我的过滤器,而只是源集合中的下一个过滤器-虽然仍然返回true,根据文档,这意味着新的当前项目应该在视图中(据我了解它不是)。这肯定不是有意的行为,可以吗?我可能做错了什么?
在我的例子中,源集合是一个名为Entries 的ObservableCollection 实例。我使用CollectionViewSource.GetDefaultView(Entries) 获取对默认视图的引用(我通过CollectionViewSource 绑定到WPF ListView 控件),然后使用new CollectionView(Entries) 创建辅助视图。我遇到问题的正是这种次要观点。
【问题讨论】: