Filter_SelectionChanged使用 Web 服务
本文关键字:Web 服务 使用 SelectionChanged Filter | 更新日期: 2023-09-27 18:34:29
当Windows8应用程序的搜索功能基本上委托给Web服务时,人们可能希望使用这样的代码
var jsonresult = await HttpClient.GetStringAsync(REQ);
然后解析字符串以填充结果集合,然后再将其分配给 this。DefaultViewModel["Results"],但 await 运算符只能在异步方法中使用。
如何通过查询 Web 服务来处理搜索方案?
我尝试将上面的代码移到异步方法
async void QueryWebservice(string queryText) { ... }
问题仅仅在于结果被编组到显示元素中的方式。视图模型是可观察对象。在将结果集合分配给此集合之前,必须填充结果集合。默认视图模型["结果"]
当我分配集合对象然后填充它时,我遇到的奇怪和不稳定的错误是由于框架在我修改从中获取值的集合时尝试填充 UI 的结果。相反,当您这样做时,不会发生任何问题。
使用异步方法查询 Web 服务效果很好。