Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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;
            }
        }