ユーザーにフォルダーを選択させるには、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:
コメント