更新 ObservableCollection 而不挂起 UI
是否可以更新大型 ObservableCollection(即添加项目)而不挂在 UI 上?
我想知道是否我有一个相对较大的循环(500 次迭代),其中每次迭代都会向集合中添加一个项目。
或者,是否正在刷新集合并通知 UI 发生更改。
或者...两者皆有!
我确实遇到过这个线程,但这可能是一个关于调度程序的完全不同的问题(为什么使用调度程序有帮助?): 使用BackgroundWorker更新UI而不冻结...?
Is it possible to update a large ObservableCollection (i.e. add items) without hanging to U.I.?
I'm wondering if it's the fact that I have a relatively large loop (500 iterations) where each iteration is adding an item to the collection.
OR, whether it is the fact that the collection is being refreshed and notifying the UI of a change.
OR... both!
I did come across this thread, but that might be a different question altogether regarding the Dispatcher (why would using the dispatcher help?):
Using BackgroundWorker to update the UI without freezes...?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
检查这个以前的答案< /a>.
ObservableCollection 不允许您禁用和重新启用因更改而触发的事件,但似乎您可以使用 绑定列表。
Check this previous SO answer.
ObservableCollection doesn't allow you to disable and re-enable the events that are fired for changes but it seems you can with BindingList.