我有一个包含大约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作为startIndex,50作为maxItemsToRetrieve参数。在Windows Phone 8和Windows 8上,我都会得到文件夹中的第51个文件。
现在的问题是,当我尝试获取文件夹中的以下文件时(例如,通过发送51和50;我应该获取从51到101的文件)。它可以在Windows8上运行,但在Windows phone8上,我得到了一个空的StorageFile列表。这似乎是一个相当独特的案例,因为我在互联网上找不到任何有这个问题的人,所以我可能做错了什么/错过了什么。你能帮我个忙吗?
发布于 2014-03-13 23:50:49
Windows Phone不支持CommonFileQuery.DefaultQuery。我敢肯定,如果你尝试使用,所有的CommonFileQuery都会抛出一个异常。只需获取没有此命令的文件,然后使用LINQ或其他工具自己对列表进行排序。
PS:defaultquery是默认的,你不需要明确的说明它。
https://stackoverflow.com/questions/18147597
复制相似问题