我一直在玩新的异步CTP和MVVM模式。我一直在转换使用后台工作人员的旧程序,并报告进度以更新模型中的集合。我把它转换成类似这样与MVVM异步Task.Run
TaskEx.Run(async() =>
{
while (true)
{
// update ObservableCollection here
}
await TaskEx.Delay(500);
});
在我看来,我绑定到我的视图模型暴露出该观察的集合。但是,收集更新时,我会收到以下异常
此类CollectionView不支持从与分派器线程不同的线程更改其SourceCollection。
我不确定什么正确的方法拉回UI线程完成后,像这样。
作为一个侧面说明,有async'的'在Visual Studio 11开发者预览版,您可以下载更新的版本。 – svick