Windows 8 在windows 8 metro应用程序中异步加载图像

Windows 8 在windows 8 metro应用程序中异步加载图像,windows-8,Windows 8,我是Windows 8应用程序开发新手。在我的应用程序中,我需要显示带有图像和标题的GridView。图像URL和作为XML数据从服务器获取的标题。图像从给定的URL下载并存储在本地目录中。现在,当下载图像时,我想通知GridView,并用下载的图像更新特定的图像视图。我将标题和本地图像URI存储在一个可观察集合中。GridView的数据源绑定到此ObservableCollection,因此一旦下载了XML数据,我就可以通过ObservableCollection更新标题。但是我不知道下载图像

我是Windows 8应用程序开发新手。在我的应用程序中,我需要显示带有图像和标题的
GridView
。图像URL和作为XML数据从服务器获取的标题。图像从给定的URL下载并存储在本地目录中。现在,当下载图像时,我想通知
GridView
,并用下载的图像更新特定的图像视图。我将标题和本地图像URI存储在一个
可观察集合中
GridView
的数据源绑定到此
ObservableCollection
,因此一旦下载了XML数据,我就可以通过ObservableCollection更新标题。但是我不知道下载图像后如何更新它们。

假设您的图像保存在本地数据文件夹(
ApplicationData.Current.LocalFolder
)中-您可以通过以下方式创建新的
BitmapImage

var imagePathInLocalDataFolder = ?
var imageUri = new Uri("ms-appdata:///local/" + imagePathInLocalDataFolder, UriKind.Absolute);
var bitmapImage = new BitmapImage(new Uri(imageUri));

然后,您可以将
bitmapImage
变量值分配给绑定到
图像的属性。Source
-您应该可以看到您的图像。

我已将imageview的Source属性附加到本地uri。一旦图像下载并存储到本地文件夹中,本地uri已更新。但更新未反映在gridview中。我可以通过重置gridview ie maingridview.winControl.itemDataSource=null来更新gridview;maingridview.winControl.itemDataSource=数据源;