我一直在玩新的異步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