フォルダピッカーで選択されたフォルダにアクセスする方法のMicrosoftの例に従った。これを実行した後、私は選択されたトップフォルダ内のサブフォルダのすべてのパスを取得したかったのです。私はしかし、結果を得ることはありません。StorageFolderが非同期取得のデータを取得しない
コード:
var folderPicker = new Windows.Storage.Pickers.FolderPicker();
folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop;
folderPicker.FileTypeFilter.Add("*");
folderPicker.ViewMode = Windows.Storage.Pickers.PickerViewMode.List;
Windows.Storage.StorageFolder folder = await folderPicker.PickSingleFolderAsync();
if (folder != null)
{
Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.AddOrReplace("GameFilesToken", folder);
System.Diagnostics.Debug.WriteLine(folder.Path);
await FileManagementHelper.getFolders(folder.Path);
}
public static async Task<Queue<string>> getFolders(String TopLevel)
{
var Folder = await Windows.Storage.AccessCache.StorageApplicationPermissions.FutureAccessList.GetFolderAsync("GameFilesToken");
var queryResults = Folder.CreateFolderQuery();
var folderList = await queryResults.GetFoldersAsync();
return new Queue<string>();
}
QueryResults
は私にフォルダ、私はもともと使用するのと同じフォルダへのアクセスを提供します。 FolderList
は私に何も与えません。
私は私の問題を理解して、唯一のことは、私は、トップレベルの下にあるすべてのディレクトリを取得する必要があります。たとえば、TopLevel \、TopLevel \ Folder1、TopLevel \ Folder2、TopLevel \ Folder1 \ SubFolder1 –
@BaileyMillerのように、[FolderDepth](https://msdn.microsoft.com/en-us/)を設定する必要があります。ライブラリ/ windows/apps/windows.storage.search.queryoptions.folderdepth.aspx)プロパティをdeepに設定します。詳細は私の更新された答えを見てください。 –