如何按日期对PictureCollection进行排序

时间:2014-02-23 01:26:46

标签: c# windows-phone-7 windows-phone-8

在我的应用程序中,我需要从手机上的Saved Pictures相册调用图像,并检索已保存的最新图像。我需要保证按日期收集最新的图像。目前我只是反转收集和收集图片,但我意识到这实际上并不总是得到最新的图片,因为它们按照名称(我可以告诉)在PhotosHub中的默认保存图片相册中排序。我怎样才能按日期对这个集合进行拉取和排序,以便我可以提取最新版本?

private PictureCollection _pictures = null;

public void GetImages()
{
    using (MediaLibrary library = new MediaLibrary())
    {
        foreach (PictureAlbum album in library.RootPictureAlbum.Albums)
        {
            if (album.Name == "Saved Pictures")
            {
                _pictures = album.Pictures;

                if(_pictures != null)
                {
                    //search for the most recent pictures in the album
                    foreach (var p in _pictures.Reverse()) //need to sort by date first
                    {
                        //Do something with pictures

                    }
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我会跟随以下内容:

  1. _pictures改为List<Picture>而不是PictureCollection

  2. GetImages方法更改为:

    public void GetImages()
    {
        using (MediaLibrary library = new MediaLibrary())
        {
            var savedPictures = library.RootPictureAlbum.Albums.First(a => a.Name == "Saved Pictures");
    
            _pictures = savedPictures.Pictures.OrderByDescending(p => p.Date).ToList();
        }
    }