Windows 8 在本地应用文件夹windows 8 App中存储的列表视图中加载图像

Windows 8 在本地应用文件夹windows 8 App中存储的列表视图中加载图像,windows-8,listviewitem,Windows 8,Listviewitem,我有一个点击按钮,我必须在列表视图中填充多个图像。我看到过一些stackoverflow的帖子,但是没有帮助。 我想从我的应用程序本地文件夹中填充图像,然后将其设置为我的listview的源。 如何从文件夹中选择多个图像文件并将其添加到listview的任何示例。 比如说 var uri = new Windows.Foundation.Uri('ms-appx:///images/logo.png'); var file=Windows.Storage.StorageFile.getFile

我有一个点击按钮,我必须在列表视图中填充多个图像。我看到过一些stackoverflow的帖子,但是没有帮助。 我想从我的应用程序本地文件夹中填充图像,然后将其设置为我的listview的源。 如何从文件夹中选择多个图像文件并将其添加到listview的任何示例。 比如说

var uri = new Windows.Foundation.Uri('ms-appx:///images/logo.png');
var file=Windows.Storage.StorageFile.getFileFromApplicationUrisync(uri)`

这将有助于选择存储在应用程序文件夹中的一个图像,但如何循环浏览多个图像并将其添加到listview中

此外,我还添加了另一个网格。当我从listview中选择图像时,它应该加载到网格中。因此,在选择事件更改时,我应该如何获取图像的文件路径或将所选图像加载到该网格中


提前感谢。

您需要获得对适当的StorageFolder的引用,然后才能循环浏览StorageFiles。您可以从StorageFile创建对象。因为听起来不像是在使用MVVM,所以我将展示一个快速的代码隐藏示例

//用于存储图像的URI和文件名的helper类
公共类MyImage
{
公共MyImage(存储文件)
{
this.Uri=新的Uri(string.Format(“ms-appx:///images/{0}”,文件名);
this.Name=file.Name;
}
公共Uri{get;set;}
公共字符串名称{get;set;}
}
//从按钮单击事件调用
专用异步任务LoadImagesAsync()
{
//这是您的安装根文件夹,然后遍历到images文件夹
//在URI中,这相当于“ms”-appx:///images"
var imagesFolder=wait Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(“图像”);
var files=wait imagesFolder.getfileasync();
//可能需要在此处筛选图像类型
var itemsSource=files.Select(x=>newmyimage(x));
//假设ListView的x:Name属性为“MyList”
this.MyList.ItemsSource=ItemsSource;
}
//从ListView的SelectionChanged事件调用
私有void SetImage()
{
var myImage=this.MyList.SelectedItem作为myImage;
//假设您的XAML中有一个x:名称为“GridImage”的图像
this.GridImage.Source=新的位图图像(myImage.Uri);
}