使用ookii-dialogs-wpf在WPF选择文件夹时能输入路径

在进行WPF开发时,System.Windows.Forms.FolderBrowserDialog的选择文件夹功能不支持输入路径:

希望能够获得下图所示的选择文件夹功能:

于是,通过NuGet中安装Ookii.Dialogs.Wpf包,并创建一个简单的工具类:

https://github.com/ookii-dialogs/ookii-dialogs-wpf/tree/master/sample/Ookii.Dialogs.Wpf.Sample

csharp 复制代码
using Ookii.Dialogs.Wpf;
using System.Windows.Forms;

namespace Utils
{
    public class DialogUtil
    {
        public static bool GetDir(string description, out string dir, string rootDir = null)
        {
            dir = null;
            if (VistaFolderBrowserDialog.IsVistaFolderDialogSupported)
            {
                VistaFolderBrowserDialog val = new VistaFolderBrowserDialog();
                val.Description = description;

                val.SelectedPath = rootDir;
                val.Multiselect = (false);
                if (val.ShowDialog() == true)
                {
                    dir = val.SelectedPath;
                    return true;
                }
            }
            else
            {
                FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
                folderBrowserDialog.Description = description;
                if (folderBrowserDialog.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                    return false;
                dir = folderBrowserDialog.SelectedPath;
                return true;
            }
            return false;
        }
    }
}

调用该工具类:

csharp 复制代码
if (DialogUtil.GetDir("选择文件夹", out string dir))
{
	//to do
}
相关推荐
李高钢7 小时前
REST vs gRPC 选型对比与迁移实践:从原理到落地
c#·集成·winforms
一个帅气昵称啊8 小时前
.Net C# AI智能体开发-快速开始
开发语言·c#·.net
半亩码田11 小时前
C#转Python第3.6篇:Python 的 @property 比 C# 的 get/set 更灵活
java·python·c#
楠楠子呀16 小时前
独立站聊天转化全链路:从二维码引流到数据复盘
java·javascript·数据仓库·python·c#·自动化·etl
csdn_aspnet17 小时前
C# 第k个最小元素(K’th Smallest Element)
算法·c#·排序算法
影寂ldy17 小时前
Modbus-ASCII 协议 + LRC校验
笔记·网络协议·c#
自己的九又四分之三站台18 小时前
C# 接入 RasterLite2:从原生 DLL 加载到 Coverage、Section、Tile 验证
开发语言·c#·地理信息
好名字都被猪取了-18 小时前
# C# 全栈开发资源包(.NET8/.NET10)
c#
李高钢18 小时前
开源控件库 HandyControl 介绍与简单实践:让 WPF 界面告别“上个世纪“
开源·wpf
淡海水20 小时前
03-05-线性-Array-List-LinkedList与Span-所有权与成本模型选型
c#·list·编译·array·clr·机器码