1

我有一个包含大约 18,000 个文件的文件夹,我想使用Windows.Storage命名空间打开它们。由于命名空间在 Store 应用程序和 Windows Phone 8 应用程序之间共享,我认为相同的代码在每台设备上的工作方式都是一样的;虽然我在开发 Windows Phone 8 方面经验很少。

    StorageFolder current = await CreateFolder(ApplicationData.Current.LocalFolder, "name");

    IReadOnlyList<StorageFile> files;

    files = await current.GetFilesAsync(CommonFileQuery.DefaultQuery, startIndex, maxItemsToRetrieve);

没有参数我成功地得到了 18,000 StorageFile。但是,我不想同时获取它们(它会有点重)所以我尝试发送例如0作为参数startIndex50作为maxItemsToRetrieve参数。在 Windows Phone 8 和 Windows 8 上,我都获得了文件夹中的前 50 个文件。

现在的问题是当我尝试在文件夹中获取以下文件时(例如通过发送5150; 我应该从 51 到 101 获取文件)。它适用于 Windows 8,但在 Windows Phone 8 上我得到一个空列表StorageFile。这似乎是一个相当独特的案例,因为我在互联网上找不到任何有这个问题的人,所以我可能做错了什么/遗漏了一些东西。请问你能帮帮我吗?

4

1 回答 1

0

CommonFileQuery.DefaultQueryWindows Phone 不支持。如果您尝试使用,我很确定所有这些CommonFileQuery都会引发异常。只需获取没有此文件的文件并使用LINQ或其他东西来订购您自己的列表。

PS :defaultquery是默认的,你不需要明确说出来。

于 2014-03-13T15:50:48.510 回答