【发布时间】:2011-08-09 14:59:40
【问题描述】:
我需要有关 DataServiceCollection 类 (http://msdn.microsoft.com/en-us/library/ee474331(v=vs.92).aspx) 和 LoadAsync() 方法的帮助 (http://msdn.microsoft .com/en-us/library/ee652610(v=vs.95).aspx) 在 MSDN 文档中,我发现:“LoadAsync 方法只能在 UI 线程上调用一次。在引发 LoadCompleted 事件之后才能再次调用该方法。无论查询是否成功,都会引发 LoadCompleted 事件。”我做以下 公共无效负载类别() {
Categories = new DataServiceCollection<Category>(context);
Categories.LoadAsync(categoriesUri);
Categories.LoadCompleted += (sender, args) =>
{
if (args.Error != null)
{
Debug.WriteLine("Requesting pictures failed. " + args.Error.Message);
}
else
{
LoadNewPictures();
}
};
public void LoadNewPictures() {
_newPictures = new DataServiceCollection<Picture>(context);
_newPictures.LoadAsync(picturesUri);
_newPictures.LoadCompleted += (sender, args) =>
{
if (args.Error != null)
{
Debug.WriteLine("Requesting pictures failed. " + args.Error.Message);
}
else
{
IsDataLoaded = true;
}
};
}
但它不起作用我只得到类别集合。有人可以帮帮我吗?
【问题讨论】:
-
尝试在调用 LoadAsync 之前分配您的 LoadComplete 事件。也许 LoadAsync 出于某种或其他原因返回 immidiatly 阻止您的 LoadCompleted 被调用?
标签: c# data-binding windows-phone-7 asynchronous