1. ホーム
  2. wpf

[解決済み】ディレクトリを開くダイアログ

2022-03-29 09:41:20

質問

生成するファイルを保存するディレクトリをユーザーが選択できるようにしたい。WPFの場合は OpenFileDialog しかし、残念ながらこのダイアログはファイルを選択する必要があり、選択せずに OK をクリックすると開いたままになります。ユーザーにファイルを選ばせて、それがどのディレクトリに属しているかを把握するためにパスを取り除くことによって、機能をハックすることができましたが、それはせいぜい直感的でないでしょう。誰かこのような方法を見たことがありますか?

どのように解決するのですか?

を使用すると、内蔵の フォルダブラウザダイアログ クラスを使用します。このクラスが System.Windows.Forms 名前空間を使用します。

using (var dialog = new System.Windows.Forms.FolderBrowserDialog())
{
    System.Windows.Forms.DialogResult result = dialog.ShowDialog();
}

WPFウィンドウの上にモーダルなウィンドウを表示させたい場合は、質問を参照してください。 WPFアプリケーションからFolderBrowserDialogを使用する方法 .


EDITです。 Windows Forms の FolderBrowserDialog よりも、もう少しおしゃれなものが欲しい場合は、Vista のダイアログを代わりに使うことができる代替品があります。

  • サードパーティライブラリ、例えば Ookiiダイアログ (.NET 4.5以上)

  • Windows API コードパック-シェル :

      using Microsoft.WindowsAPICodePack.Dialogs;
    
      ...
    
      var dialog = new CommonOpenFileDialog();
      dialog.IsFolderPicker = true;
      CommonFileDialogResult result = dialog.ShowDialog();
    
    

    なお、このダイアログはWindows Vistaより古いOSでは利用できないので、必ず CommonFileDialog.IsPlatformSupported を最初に設定してください。