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

时间:2013-01-28 18:47:52

标签: windows-8

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

1 个答案:

答案 0 :(得分:0)

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

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

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