【问题标题】:Directory Chooser without Forms FolderBrowserDialog [duplicate]没有表单的目录选择器 FolderBrowserDialog [重复]
【发布时间】:2015-11-11 04:57:54
【问题描述】:
对于我的 C# WPF 项目,我需要一个文件夹选择对话框。因为用户在浏览时必须能够看到文件夹的内容以选择正确的文件夹,所以我无法使用不显示内容的 Win Forms FolderBrowserDialog。
外部包也可能有问题。
我最初认为这将是一项简单的任务,现在让我苦苦挣扎了很长一段时间。
有没有人在不创建我自己的用户控件的情况下实现它的好主意。
提前谢谢大家
【问题讨论】:
-
-
-
一个简单的用户控件,带有用于文件夹的树视图和一些用于显示文件的列表视图(在详细模式下?)。有关替代方案,请参阅here。
标签:
c#
wpf
directory
selection
【解决方案1】:
一个没有外部包的“解决方案”,没有滚动你自己的控制,没有 P/Invoke-stuff,但更多的是一个可怕的解决方法:
//using System.Windows.Forms;
OpenFileDialog ofp = new OpenFileDialog();
ofp.FileName = "The file will be ignored";
ofp.CheckFileExists = false;
ofp.CheckPathExists = true;
ofp.ValidateNames = false;
简单地说,将从对话框中选择一个名为 The file will be ignored 的不存在文件。由于CheckFileExists 为假,这不会是问题,您只需阅读所选目录即可。
换句话说:用户可以选择他/她想要的任何文件。
我不推荐使用这个。这很可怕(在风格和用户方面),但这是实现您想要的最简单的方法。就个人而言,我会一路实现自己的控件,或者——甚至更好——使用第三方控件。有一些人这样做。
不支持此开箱即用。使用标准对话框,您可以查看文件,但不能选择文件夹或反之。