我有一个包含 QueryData 方法的 ViewModel:
void QueryData() {
_dataService.GetData((item, error) =>
{
if(error != null)
return;
Dispatcher.CurrentDispatcher.BeginInvoke(new Action(() =>
{
foreach(TimeData d in ((LineDetailData)item).Piecesproduced) {
Produced.Add(d);
}
}), DispatcherPriority.Send);
});
}
此方法每 10 秒从 timer_Tick 事件处理程序中调用一次。然后异步查询数据,然后执行回调。在那里,查询的数据应该被插入到一个可观察的集合中(不是 STA 线程 -> 开始调用)。它正确地进入了回调,但是 Dispatcher.CurrentDispatcher.BeginInvoke 里面的代码没有被执行。
我究竟做错了什么?