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

embedded/2024/11/14 19:38:24/

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

在这里插入图片描述

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

在这里插入图片描述

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

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

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;}}
}

调用该工具类:

if (DialogUtil.GetDir("选择文件夹", out string dir))
{//to do
}

http://www.ppmy.cn/embedded/137190.html

相关文章

计算机毕业设计Python流量检测可视化 DDos攻击流量检测与可视化分析 SDN web渗透测试系统 网络安全 信息安全 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

金价大跌,特朗普胜选或成导火索

黄金光芒不再,美元强势崛起 上周特朗普赢得美国总统选举后,金价出现了大幅下跌。这标志着市场情绪正在发生转变,投资者开始从避险资产转向风险资产。 为何金价会下跌? 美元走强: 特朗普的胜选提振了美元,…

如何使用 Puppeteer 和 Browserless 抓取亚马逊产品数据?

您可以在亚马逊上找到所有有关产品、卖家、评论、评分、特价、新闻等的相关且有价值的信息。无论是卖家进行市场调研还是个人收集数据,使用高质量、便捷且快速的工具将极大地帮助您准确地抓取亚马逊上的各种信息。 为什么抓取亚马逊产品数据很重要? 亚…

渗透利器-kali工具 (第三章-5) sqlmap之sql注入一、二

一:常见的注入方式 1.sqlmap用于Access数据库注入 2.sqlmap用于Cookie注入  --cookie 3.sqlmap用于Post注入  --froms 、--data、抓包 4.sqlmap用于mysql注入 绕过waf脚本测试:--tamper "space2morehash.py" 常见sqlmap使用方法&#xff1…

2024 ECCV | DualDn: 通过可微ISP进行双域去噪

文章标题:《DualDn: Dual-domain Denoising via Differentiable ISP》 论文链接: DualDn 代码链接: DualDnCode 本文收录于2024ECCV,是上海AI Lab、浙江大学、香港中文大学(薛天帆等人)联合发布的图像降…

gitlab 流水线流程简要说明

前提准备: gitlab 16.9 centos 7.6 git 2.41.0 创建runner执行器 1、进入“管理/CI/CD/runner”菜单中 2、点击“新建实列runner”,设置参数后点击完成创建就好。 3、在服务器上安装runner执行器 配置gitlab-ci.yml文件 可以根据文件说明配置&#…

vue3项目中内嵌vuepress工程两种实现方式

目录 一、示例二、创建vuepress工程三、配置vue项目的打包命令四、 通过iframe嵌套实现过程五、 将vue项目打包,启本地服务运行index.html 一、示例 vue项目,点击用户手册按钮,通过a标签跳转到vuepress框架搭建的页面。点击后者通过路由跳转…

Dial-insight:利用高质量特定领域数据微调大型语言模型防止灾难性遗忘

摘要 大型语言模型(LLM)的性能很大程度上依赖于底层数据的质量,特别是在专业领域。在针对特定领域应用微调LLM时,一个常见的挑战是模型泛化能力的潜在下降。为了解决这些问题,我们提出了一种两阶段方法来构建提示词&a…