使用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
}
相关推荐
唐青枫1 小时前
一次看懂 C# TimeSpan:时间差操作的完整指南
c#·.net
Macbethad8 小时前
工业设备数据记录程序技术方案
wpf·信息与通信
未来之窗软件服务12 小时前
幽冥大陆(四十一)美萍V10酒店门锁SDK C#语言仙盟插件——东方仙盟筑基期
开发语言·c#·仙盟创梦ide·东方仙盟·东方仙盟sdk·酒店智能门锁·东方仙盟 vos 智能浏览器
用户83562907805116 小时前
Word 图表自动化:基于 C# 的高效数据可视化方案
后端·c#
wangnaisheng18 小时前
【C#】MQTT的使用
c#
玩泥巴的21 小时前
一分钟实现.NET与飞书长连接的WebSocket架构
c#·.net·二次开发·飞书
mudtools21 小时前
一分钟实现.NET与飞书长连接的WebSocket架构
后端·c#·.net
Sunsets_Red21 小时前
二项式定理
java·c++·python·算法·数学建模·c#
zzyzxb21 小时前
WPF 中隧道事件和冒泡事件
wpf
闲人编程1 天前
API限流、鉴权与监控
分布式·python·wpf·限流·集群·令牌·codecapsule