StorageFolder.CreateFolderQuery 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
CreateFolderQuery() |
获取包含当前文件夹中的子文件夹的查询结果对象。 |
CreateFolderQuery(CommonFolderQuery) |
获取包含当前文件夹中的子文件夹的查询结果对象。 如果 query 参数的值不是 CommonFolderQuery.DefaultQuery,则获取表示当前文件夹子文件夹中文件组的容器的虚拟文件夹列表。 文件根据 CommonFolderQuery 枚举中的指定值分组到文件夹中。 |
CreateFolderQuery()
获取包含当前文件夹中的子文件夹的查询结果对象。
public:
virtual StorageFolderQueryResult ^ CreateFolderQuery() = CreateFolderQuery;
/// [Windows.Foundation.Metadata.Overload("CreateFolderQueryOverloadDefault")]
StorageFolderQueryResult CreateFolderQuery();
[Windows.Foundation.Metadata.Overload("CreateFolderQueryOverloadDefault")]
public StorageFolderQueryResult CreateFolderQuery();
function createFolderQuery()
Public Function CreateFolderQuery () As StorageFolderQueryResult
返回
查询结果对象。 调用查询结果的 GetFoldersAsync 方法以获取当前文件夹中的子文件夹。 此方法返回 IReadOnlyList<StorageFolder> 类型的列表。 每个文件或文件夹都由 StorageFolder 类型的项表示。
实现
- 属性
例外
你无权访问当前文件夹的内容。
示例
以下示例演示如何通过调用 GetFoldersAsync (CommonFolderQuery) 重载方法,获取用户“图片”文件夹中子文件夹的内容(按月份分组到文件夹中)。 不包括当前文件夹根目录中的 (文件。)
在运行以下示例之前,请在应用清单文件中启用 图片库 功能。
using Windows.Storage;
using Windows.Storage.Search;
using System.Threading.Tasks;
using System.Diagnostics; // For writing results to the Output window.
// Get the user's Pictures folder.
// Enable the corresponding capability in the app manifest file.
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
// Get the files in the subfolders of the
// user's Pictures folder, grouped by month.
StorageFolderQueryResult groupedItems =
picturesFolder.CreateFolderQuery(CommonFolderQuery.GroupByMonth);
// Iterate over the results and print the list of folders
// and files to the Visual Studio Output window.
foreach (StorageFolder folder in await groupedItems.GetFoldersAsync())
{
Debug.WriteLine(folder.Name);
// To iterate over the files in each folder,
// uncomment the following lines.
// foreach(StorageFile file in await folder.GetFilesAsync())
// Debug.WriteLine(" " + file.Name);
}
IAsyncAction MainPage::ExampleCoroutineAsync()
{
// Get the users's Pictures folder.
// Enable the Pictures Library capability in the app manifest file.
Windows::Storage::StorageFolder picturesFolder{ Windows::Storage::KnownFolders::PicturesLibrary() };
// Get the files in the user's Pictures folder, and group them by month.
Windows::Storage::Search::StorageFolderQueryResult results{ picturesFolder.CreateFolderQuery(Windows::Storage::Search::CommonFolderQuery::GroupByMonth) };
Windows::Foundation::Collections::IVectorView<Windows::Storage::StorageFolder> itemsInFolder{
co_await results.GetFoldersAsync() };
// Iterate over the results, and print the list of file groups to the Visual Studio output window.
for (StorageFolder const& itemInFolder : itemsInFolder)
{
std::wstring output{ itemInFolder.Name() };
::OutputDebugString(output.c_str());
}
}
// Get user's pictures folder
StorageFolder^ picturesFolder = KnownFolders::PicturesLibrary;
// Get the files in the user's Pictures folder and group them by month
StorageFolderQueryResult^ itemsInFolder = picturesFolder->CreateFolderQuery(CommonFolderQuery::GroupByMonth);
create_task(itemsInFolder->GetFoldersAsync()).then([=](IVectorView<StorageFolder^>^ itemsInFolder) {
//Iterate over the results and print the list of file groups
// to the visual studio output window
for (auto it = itemsInFolder->First(); it->HasCurrent; it->MoveNext())
{
StorageFolder^ file = it->Current;
String^ output = file->Name + "\n";
OutputDebugString(output->Begin());
}
});
注解
此查询是一个浅表查询,仅返回当前文件夹中的子文件夹。 有关标识浅层查询和深度查询的方法列表,请参阅 GetFoldersAsync 方法中的备注。
若要指定其他查询选项,请调用 CreateFolderQueryWithOptions 方法。
若要获取文件或文件夹项,请调用 CreateItemQuery 方法。
另请参阅
适用于
CreateFolderQuery(CommonFolderQuery)
获取包含当前文件夹中的子文件夹的查询结果对象。 如果 query 参数的值不是 CommonFolderQuery.DefaultQuery,则获取表示当前文件夹子文件夹中文件组的容器的虚拟文件夹列表。 文件根据 CommonFolderQuery 枚举中的指定值分组到文件夹中。
public:
virtual StorageFolderQueryResult ^ CreateFolderQuery(CommonFolderQuery query) = CreateFolderQuery;
/// [Windows.Foundation.Metadata.Overload("CreateFolderQuery")]
StorageFolderQueryResult CreateFolderQuery(CommonFolderQuery const& query);
[Windows.Foundation.Metadata.Overload("CreateFolderQuery")]
public StorageFolderQueryResult CreateFolderQuery(CommonFolderQuery query);
function createFolderQuery(query)
Public Function CreateFolderQuery (query As CommonFolderQuery) As StorageFolderQueryResult
参数
- query
- CommonFolderQuery
枚举值之一,该值指定如何将文件分组到文件夹中,并确定查询是浅表查询还是深层查询。
返回
查询结果对象。 调用查询结果的 GetFoldersAsync 方法以获取当前文件夹中的子文件夹。 当 query 参数的值不是 CommonFolderQuery.DefaultQuery 时,查询结果对象包含虚拟文件夹列表,这些文件夹表示当前文件夹子文件夹中文件组的容器。 (不包括当前文件夹中的文件。) 文件按 查询指定进行分组。 该列表的类型为 IReadOnlyList<StorageFolder>。 列表中的每个文件夹都由 StorageFolder 对象表示。
实现
- 属性
例外
你无权访问当前文件夹的内容。
你从 <xref:Windows.Storage.Search.CommonFolderQuery?text=CommonFolderQuery 枚举中为非库文件夹的文件夹指定了 DefaultQuery> 以外的值。 检查 查询的值。
注解
CommonFolderQuery 根据特定文件属性(如艺术家或专辑) )将子文件夹的内容分组到文件夹中 (。 有关指定 DefaultQuery 选项的详细信息,请参阅 CreateFileQuery 方法页上的备注。