C# 在windows phone 8.1中获取按日期排序的文件

C# 在windows phone 8.1中获取按日期排序的文件,c#,windows-runtime,windows-phone-8.1,storagefile,C#,Windows Runtime,Windows Phone 8.1,Storagefile,我正在从事一个基于windows phone 8.1(RT)的项目,我想根据文件创建日期显示文件列表。当我从这里尝试代码时,我得到一个“System.NotImplementedException” 我的intellisense也告诉我,它没有在WindowsPhone8.1中实现。那么这是否意味着我不能使用查询选项,或者有其他选择吗? 代码: StorageFolder picturesFolder=KnownFolders.PicturesLibrary; //获取用户图片文件夹中的文件并按

我正在从事一个基于windows phone 8.1(RT)的项目,我想根据文件创建日期显示文件列表。当我从这里尝试代码时,我得到一个“System.NotImplementedException”

我的intellisense也告诉我,它没有在WindowsPhone8.1中实现。那么这是否意味着我不能使用查询选项,或者有其他选择吗? 代码:

StorageFolder picturesFolder=KnownFolders.PicturesLibrary;
//获取用户图片文件夹中的文件并按日期排序。
StorageFileQueryResult结果=
picturesFolder.CreateFileQuery(CommonFileQuery.OrderByDate);
//迭代结果并打印文件列表
//转到Visual Studio输出窗口。
IReadOnlyList分类文件=
等待结果;
foreach(sortedFiles中的存储文件项)
{
Debug.WriteLine(item.Name+“,”+item.DateCreated);
}

如果它抛出“System.NotImplementedException”,那么它在您当前的目标环境中不可用(有点糟糕,但您会发现他们在Windows.winmd中遗漏了一些东西,可能是因为时间限制)

然而,您可以使用常规方式从
StorageFolder

StorageFolder.GetFilesAsync();
根据文档,您甚至可以将您的
OrderByDate
传递给它

StorageFolder.GetFilesAsync(Windows.Storage.Search.CommonFileQuery.OrderByDate);
或者您可以自己对
IList
进行排序,这应该不会太难


谢谢您的回复。我尝试了建议的代码,但在StorageFolder.GetFileAsync(Windows.Storage.Search.CommonFileQuery.OrderByDate)行上获得了“System.ArgumentOutOfRangeException”;好的,我尝试了一些类似Wait KnownFolders.PicturesLibrary.GetFileAsync(CommonFileQuery.OrderByDate)的方法;而且效果很好。但当我在PicturesLibrary中选择一个特定文件夹并尝试使用相同的代码时,它会给我一个“System.ArgumentOutOfRangeException”。有什么线索可以解决这个问题吗?@AbsoluteSith是的,你需要使用
async
wait
调用来完成你所做的一切。对于默认文件夹,我认为您需要确保在清单中正确设置了权限。至于子文件夹,我想你需要让用户先选择文件夹,我很确定你不能直接访问它。在windows phone下查找遍历子文件夹,然后首先在您完全可以访问的本地资源文件夹中进行尝试。
StorageFolder.GetFilesAsync(Windows.Storage.Search.CommonFileQuery.OrderByDate);