【发布时间】:2015-09-14 14:44:02
【问题描述】:
我想获取一些示例数据到 ViewModel,其中包含要在 XAML 中绑定的数据。代码如下:
private NotifyTaskCompletion<ObservableCollection<Auction>> _recentAuctions;
public NotifyTaskCompletion<ObservableCollection<Auction>> RecentAuctions
{
get
{
return _recentAuctions;
}
set
{
_recentAuctions = value;
NotifyPropertyChanged("RecentAuctions");
}
}
public MainMenuViewModel()
{
RecentAuctions = new NotifyTaskCompletion<ObservableCollection<Auction>>(dataService.GetRecentAuctions());
}
(它使用来自MDSN article 的NotifyTaskCompletion 模式)
GetRecentAuctions 方法:
public async Task<ObservableCollection<Auction>> GetRecentAuctions()
{
return new ObservableCollection<Auction>
{
new Auction
{
Percentage = "69",
Title = "Szybsza spłata",
Date = "przed chwilą"
},
new Auction
{
Percentage = "33",
Title = "Kolejna pożyczka, tym razem na remont.",
Date = "1 minutę temu"
}
};
}
到目前为止,它运行良好 - 项目显示在 <ListView> 中。
当我想测试它是否可以异步工作时,问题就开始了,为此我添加了这个“等待”行:
public async Task<ObservableCollection<Auction>> GetRecentAuctions()
{
await Task.Delay(TimeSpan.FromSeconds(1));
return new ObservableCollection<Auction>
{
...
我收到以下错误:
在 XXX.exe 中发生了“System.NullReferenceException”类型的第一次机会异常 'XXX.exe' (CoreCLR: .): 加载'C:\windows\system32\System.Runtime.WindowsRuntime.UI.Xaml.NI.DLL'。无法找到或打开 PDB 文件。 XXX.exe 中发生了“Windows.UI.Xaml.Markup.XamlParseException”类型的第一次机会异常 WinRT 信息:无法创建类型“%0”的实例 [行:16 位置:10]
谁能解释这种行为?缺少什么?感谢您的帮助。
【问题讨论】:
标签: .net xaml asynchronous windows-phone-8.1 async-await