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