2015-07-25 2 views
1

Я пытаюсь прочитать набор StorageFile с StorageFolder с использованием метода GetFilesAsync() в Windows Phone 8.1 RT.
Метод работает нормально, если только файлы должны быть извлечены, но выбрасывает ArgumentException, если для сортировки файлов передается любая CommonFileQuery.
Я хочу, чтобы извлечь файлы, отсортированные по дате создания, поэтому я прохожу CommonFileQuery.OrderByDate, но я получаю следующую трассировку стека:ArgumentException при передаче CommonFileQuery в StorageFolder.GetFilesAsync()

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

Как я могу получить отсортированный список всех файлов, присутствующих в определенной папке, заказанного Дата?

ответ

1

Извините, что, видимо, CommonFileQuery может использоваться только для библиотечных папок.

System.ArgumentException: Вы указали значение, отличное от DefaultQuery, из перечисления CommonFileQuery для папки, которая не является папкой библиотеки. Проверьте значение запроса

Источник: MSDN.com

Библиотека Папки могут быть доступны с помощью класса KnownFolders (см here)

Но вот что вы можете сделать:

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

Да , это то, что я использовал. Но что такое библиотеки? Являются ли они папками, созданными самой ОС, например 'KnownFolders'? – Flipper

+0

Согласно MSDN, да. Я отредактирую свой ответ, соответственно, спасибо за ввод! – GuyMontag

Смежные вопросы