폴더 선택 도구로 선택한 폴더에 액세스하는 방법에 대한 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/)를 설정해야합니다. library/windows/apps/windows.storage.search.queryoptions.folderdepth.aspx) 속성을 deep로 설정합니다. 자세한 내용은 내 업데이트 된 답변을 참조하십시오. –