我有一个工作异步方法(网络刮)工作,但不能更新视图。 我可以看到INotifyPropertyChanged事件没有触发。我可以从任务<ObservableCollection <Class>>转到ObservableCollection <Class>?
在我的构造我打电话,像这样的异步方法:
Task<ObservableCollection<Team>> TeamRows2 = Scrape();
我刮痧方法返回:
ObservableCollection<Team> rows
通过这种方法签名:
private async Task<ObservableCollection<Team>> Scrape()
ObservableCollection<Team> rows = new ObservableCollection<Team>();
// do Async work
return rows;
我可以看到行获取充满异步网站获得的数据。
但是,Scrape调用在返回时似乎不会加载包含行的TeamRows2。
我需要从普通的ObservableCollection投从某种程度上任务为工作?
谢谢
演员?不,不,不,不...你想要的是[结果](https://msdn.microsoft.com/en-us/library/dd321468(v = vs.110).aspx)。编辑:我认为没有'async'会更好。 – Theraot
您需要等待任务完成。无论是“await”还是调用任务 – Jonesopolis
上的“.Result”Do ** not **使用Task.Result。阅读[Stephen Cleary]的伟大博客(https://blog.stephencleary.com/)为什么你不应该这样做 –