通过图片库中的图像填充ListView(Windows Phone 8.1)

时间:2016-03-22 20:09:55

标签: c# xaml listview windows-phone-8.1

因此,我可以使用以下语法一次一个地填充ListView:

var bitmap = new BitmapImage();
await bitmap.SetSourceAsync(await file.OpenReadAsync());
PhotoListView.Items.Add(bitmap);

但是我希望我的ListView能够显示图片库中特定文件夹中的所有照片,例如Camera Roll文件夹。做与上面相同的事情,并添加允许我使用 StorageFolder 打开文件夹的代码给我一个错误:

failed to convert value of type 'Windows.Storage.StorageFile' to type 'ImageSource'

我认为它与 List<> 有关,但我不确切知道如何使用它。顺便说一句,我也可以考虑使用 FilePicker ,只要我可以查看我的应用程序中的所有图像 而不是图片库本身。这是因为我看过它的例子,它的作用是将应用程序放在后台并打开库来显示图像,这对我没有好处。

所以我的问题是,我该如何做到这一点?它背后的代码是什么?请帮我。谢谢!

1 个答案:

答案 0 :(得分:0)

正如预期的那样,它必须对列表做些什么。所以我研究了很多,然后提出了这个代码:

StorageFolder appFolder = await KnownFolders.PicturesLibrary.CreateFolderAsync("appFolder", CreationCollisionOption.OpenIfExists);
StorageFolder temp = await appFolder.CreateFolderAsync("temp", CreationCollisionOption.OpenIfExists);

List<StorageFile> FileList = (await temp.GetFilesAsync()).ToList();

List<string> ImageList = new List<string>();

    foreach (var imageFile in FileList)
        {
            ImageList.Add(imageFile.Path);
        }

this.PhotoListView.DataContext = ImageList;

ListView也使用绑定,因此我的appFolder中的图像将自动添加到其中。