Silverlight 在不挂起UI的情况下更新ObservableCollection

Silverlight 在不挂起UI的情况下更新ObservableCollection,silverlight,observablecollection,ui-thread,Silverlight,Observablecollection,Ui Thread,是否可以在不挂起U.i.的情况下更新大型ObservableCollection(即添加项目) 我想知道是不是因为我有一个相对较大的循环(500次迭代),每次迭代都会向集合中添加一个项 或者,是否正在刷新集合并将更改通知UI 或者。。。都是 我确实遇到过这个问题,但对于Dispatcher,这可能是一个完全不同的问题(为什么要使用Dispatcher帮助?) 检查此项 ObservableCollection不允许您禁用和重新启用为更改而触发的事件,但似乎您可以使用。酷。我希望SL有绑定列表。如

是否可以在不挂起U.i.的情况下更新大型ObservableCollection(即添加项目)

我想知道是不是因为我有一个相对较大的循环(500次迭代),每次迭代都会向集合中添加一个项

或者,是否正在刷新集合并将更改通知UI

或者。。。都是

我确实遇到过这个问题,但对于Dispatcher,这可能是一个完全不同的问题(为什么要使用Dispatcher帮助?)

检查此项


ObservableCollection不允许您禁用和重新启用为更改而触发的事件,但似乎您可以使用。

酷。我希望SL有绑定列表。如果可以的话,我一定走这条路。但是,现在,我想知道通过Dispatcher更新异步完成事件的集合是否有助于缓解UI“冻结”。有人能证实或否认这一点吗?使用调度程序没有帮助。所做的只是为您封送跨线程访问。(例如,如果要从其他线程更新某些UI,可以使用Dispatcher来调用UI命令。)每次修改集合时,集合仍将引发事件,并将通知所有侦听器。由于他们使用多播代理订阅事件,他们的通知会出现在新线程中,因此不会被阻止或阻止您的可观察集合更新。您是否可以对IEnumerable进行更新,然后进行ObservableCollection?