开发中有时会想实现"选择某个文件夹"的效果,但在WPF中,使用Microsoft.Win32.OpenFileDialog只能选择文件,而调用FolderBrowserDialog的话,又只能用树型的方式选择文件夹,很不好用.
所以,正确的方法是使用Windows API Code Pack,要调用这个,需要先打开NuGet Package Manager Console(工具-Nuget包管理器),然后输入Install-Package WindowsAPICodePack-Shell获取包,再调用这个包
using Microsoft.WindowsAPICodePack.Dialogs;
然后代码编写打开,判断返回值来进行选择文件夹的下一步操作
var dialog = new CommonOpenFileDialog();
dialog.IsFolderPicker = true;
CommonFileDialogResult result = dialog.ShowDialog();
if(result == CommonFileDialogResult.Ok)
{
tbPath.Text = dialog.FileName; //获取文件目录字符串
}
即可打开选择文件夹对话框而不用再去使用操作不便的树形图文件夹选择