/// <summary>フォルダーピッカーを表示します。不正な場合,メッセージダイアログを表示します。</summary> /// <returns>フォルダーのパス。不正な場合,空文字列。</returns> public async Task <StorageFolder> SelectFolder(EDirectoryType directoryType) { FolderPicker folderPicker = new FolderPicker( ); folderPicker.FileTypeFilter.Add("*"); Log.Information("FolderPicker生成"); StorageFolder folder = await folderPicker.PickSingleFolderAsync( ); if (folder != null) { this.AddDirectoryPermission(directoryType, folder); } return(folder); }
/// <summary>選択したフォルダーをアクセス許可アイテムに追加します。</summary> /// <param name="directoryType">ディレクトリータイプ</param> /// <param name="storageItem">ファイルまたはフォルダー</param> private void AddDirectoryPermission(EDirectoryType directoryType, IStorageItem storageItem) { Log.Debug("ファイルアクセス許可:" + storageItem.Path + " を " + directoryType.ToString( ) + " として"); switch (directoryType) { case EDirectoryType.Internal: StorageApplicationPermissions.FutureAccessList.AddOrReplace("Internal", storageItem); break; case EDirectoryType.Input: StorageApplicationPermissions.FutureAccessList.AddOrReplace("Input", storageItem); break; case EDirectoryType.Output: StorageApplicationPermissions.FutureAccessList.AddOrReplace("Output", storageItem); break; default: StorageApplicationPermissions.FutureAccessList.AddOrReplace("Other", storageItem); break; } }