【发布时间】:2014-12-09 20:46:23
【问题描述】:
我一直在玩新的异步 CTP 和 MVVM 模式。我一直在转换我的一个旧程序,该程序使用后台工作程序并报告进度以更新我的模型中的集合。我已将其转换为类似的东西
TaskEx.Run(async () =>
{
while (true)
{
// update ObservableCollection here
}
await TaskEx.Delay(500);
});
在我看来,我绑定到我的视图模型,它公开了这个可观察的集合。但是,当我的收藏更新时,我得到以下异常
这种类型的 CollectionView 不支持从不同于 Dispatcher 线程的线程更改其 SourceCollection。
我不确定当这样完成时,拉回 UI 线程的正确方法是什么。
【问题讨论】:
-
附带说明,您可以下载 Visual Studio 11 开发人员预览版中的
async更新版本。
标签: c# mvvm asynchronous async-ctp