我想知道在将异步数据加载到属性中是否有更好的方法。现在我创建了一个异步函数,并在Get部分的属性中引发了一个任务,就像这样:
private ObservableCollection<CProyecto> prope;
public ObservableCollection<CProyecto> Prope
{
get
{
if (prope == null)
{
Task.Run(()=> LoadData()).Wait();
}
return proyectos;
}
set
{
prope = value;
RaisePropertyChanged();
}
}
async private Task LoadData()
{
Prope = await clsStaticClassDataLoader.GetDataFromWebService();
}
这种方法是可行的,但我不喜欢使用.Wait,因为如果服务响应不够快,它会冻结屏幕。您能否在这个问题上给我指导?
提前感谢。