[UWP][フォルダー操作] ユーザーにフォルダーを選択させる

スポンサーリンク

ユーザーにフォルダーを選択させるには、FolderPickerを使用する方法があります。

FolderPickerの動作を確認するために、MainPage.xaml に Button とTextBlockを配置します。

ここではButtonがクリックされたときにFolderPickerを表示して、選択されたフォルダーのパスをTextBlockに表示されるコードを以下に示します。

private async void button_Click(object sender, RoutedEventArgs e)
{
    var folderPicker = new Windows.Storage.Pickers.FolderPicker();
    folderPicker.FileTypeFilter.Add("*");
    Windows.Storage.StorageFolder folder =
        await folderPicker.PickSingleFolderAsync();

    if (folder == null)
    {
        return;
    }

    textBlock.Text = folder.Path.ToString();
}

FolderPicker は、名前空間Windows.Storage.Pickersにあります。

フォルダーには拡張子はないのですが、folderPicker.FileTypeFilter.Add(“*”) のようにワイルドカードを指定しておく必要があります。この命令を実行しない場合はエラーになるので注意してください。

FolderPickerを表示するには、PickSingleFolderAsyncメソッドを使用します。このメソッドは非同期ですので、ボタンのクリックイベントはasyncキーワードが必要です。

folderが選択されなかった場合は、nullが返されるのでその場合は returnで処理を抜けます。

選択されたフォルダーのパスは Pathプロパティで取得できます。フォルダー名だけを取得したい場合はNameプロパティを使用します。

最後に、上記コードの実行例を以下に示します。

フォルダー選択ダイアログ

フォルダー選択後の画面

 

Please follow and like us:

コメント

タイトルとURLをコピーしました