有什么办法吗
ICollectionView.Refresh()
或者
CollectionViewSource.GetDefaultView(args.NewValue).Refresh();
在 单独的线程 ?
我知道我可以使用调度程序,但是这个集合绑定(bind)到一个 ListView 并且它抛出了跨线程异常。
我需要第二个线程的原因是,我有显示 IMyItems 列表的 Control。过滤此集合时(通过用户文本更改输入),我希望能够显示 CollectionView 正在更改的动画。
最佳答案
你不能!
所有 UI 操作都必须发生在用户界面线程上,并且几乎 WPF 的 DispatcherObject(以及该层次结构中的所有控件)内部的每个调用都会定期调用 CheckAccess()。
如果您在后台线程或 BackgroundWorker 中进行处理,您可能需要考虑使用 ObservableCollection 来帮助保持数据最新。
关于WPF ICollectionView 刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1232610/