将CommonFileQuery传递给StorageFolder.GetFilesAsync()

时间:2015-07-25 08:17:39

标签: c# windows-phone-8.1

我正在尝试使用Windows Phone 8.1 RT中的StorageFile方法从StorageFolder中读取一组GetFilesAsync()
如果只检索文件,则该方法可以正常工作,但在传递任何ArgumentException以对文件进行排序时会抛出CommonFileQuery
我想检索按创建日期排序的文件,因此我传递CommonFileQuery.OrderByDate,但我得到以下stacktrace:

Value does not fall within the expected range.
at Windows.Storage.StorageFolder.GetFilesAsync(CommonFileQuery query)
at FileGetters.FileGetterMethods.<GetMyFilesAsync>d__19.MoveNext()

如何获取按日期排序的特定文件夹中存在的所有文件的排序列表?

1 个答案:

答案 0 :(得分:1)

很遗憾地告诉您,CommonFileQuery显然只能用于图书馆文件夹。

  

System.ArgumentException:您从CommonFileQuery枚举中为一个不是库文件夹的文件夹指定了DefaultQuery以外的值。检查查询的值

来源:MSDN.com

可以使用课程KnownFolders(请参阅here

访问图书馆文件夹

但这是你可以做的:

IEnumerable<StorageFile> files = await myFolder.GetFilesAsync();
IOrderedEnumerable<StorageFile> orderedFiles = files.OrderBy(f => f.DateCreated);