sha*_*ank 3 windows-phone-7 .net-4.5 windows-phone-8
我正在编写一个示例windows phone 8应用程序.我还安装了Async for .NET Framework 4,Silverlight 4和5以及Windows Phone的框架.
但是,等待一个方法不等待,我的mainpage.xaml加载试图访问尚未填充的属性.
这是我的代码.
public static ObservableCollection<Model.CatalogCategory> Products { get; set; }
private async void Application_Launching(object sender, LaunchingEventArgs e)
{
ApplicationViewModel vm = new ApplicationViewModel();
Products = await vm.LoadLocalDataAsync();
}
Run Code Online (Sandbox Code Playgroud)
在此方法之后,加载mainpage.xaml,它尝试访问"Products"并抛出空引用异常.
我需要采取不同的方法吗?
您没有理解Async的含义并正确地"等待".'await'仅等待该方法块中的其余代码.await行之后的其余代码将转换为仅在异步任务完成后调用的回调.这并不会阻碍整个方法.该方法被视为已完成,控制权将返回给调用者.
您要么删除'await',要么尝试在MainPage_Loaded事件或OnNavigatedTo事件中加载数据.什么适合你.
| 归档时间: |
|
| 查看次数: |
673 次 |
| 最近记录: |