【发布时间】:2011-05-11 18:27:47
【问题描述】:
在我的 ViewModel 中有以下代码:
Logs = new ObservableCollection<Log>();
Logs = Task.Factory.StartNew(() => mainModel.GetLogs()).Result;
Log 是一个非常简单的类,具有几个公共属性。
根据我对 Task 类的理解,以这种方式调用的 mainModel 函数 GetLogs() 应该在单独的线程上运行,并且当它从数据库中获取记录时,我的 UI 应该是响应式的,但这不是正在发生的事情,而是在正在从数据存储中获取记录,我的 UI 被阻止。
我希望有人能解释为什么……TIA。
编辑:我对 Task 类的理解不完整,使用 Task 类的 ContinueWith 方法将确保异步执行,如下面的成员回复中所述......
【问题讨论】:
标签: wpf multithreading task