WPF选择文件夹对话框

76

我开发了一个 WPF4 应用程序,在我的应用程序中,我需要让用户选择一个文件夹,该文件夹将用于存储某些东西(文件、生成的报告等)。

我的要求:

  • 能够查看标准文件夹树

  • 能够选择文件夹

  • WPF 外观和感觉,该对话框必须看起来像是为 Windows Vista/7 设计的现代应用程序的一部分,而不是 Windows 2000 或甚至 Win9x。

据我所知,直到2010年(.Net 4.0),都没有标准的文件夹对话框,但也许在4.0版本中有一些变化?

或者我唯一能做的就是使用老式的 WinForms 对话框?如果这是我需要做的唯一方法,那么我如何使它看起来更接近 Vista/7 风格,而不是 Win9x?


2
快来看看Sven Groot的令人惊叹的Ookii.Dialogs,适用于WinForms和WPF,为您提供现代化的“Vista”风格的文件夹和文件对话框。 - lightw8
我正在使用wxPython Python模块 https://github.com/wxWidgets/Phoenix - JinSnow
2
这是一个链接,指向针对.NET 4.5的更新版WPF Ookii对话框,并且可在NuGet上获取 - C. Augusto Proiete
12个回答

0
只是想说一件事,WindowsAPICodePack在Windows 7 6.1.7600上无法打开CommonOpenFileDialog

0
C. Augusto Proiete在原问题上的评论建议使用Ookii对话框(https://github.com/ookii-dialogs/ookii-dialogs-wpf)。这就是我最终在我的情况下使用的。以下是我在应用程序中如何使用它的方法。
var dialog = new VistaFolderBrowserDialog()
{
    Description = "Select Folder",
    RootFolder = Environment.SpecialFolder.Desktop,
    ShowNewFolderButton = true,
    UseDescriptionForTitle = true
};

var result = dialog.ShowDialog();

if (result.HasValue && result.Value)
{
    _mySelectedFolder = dialog.SelectedPath;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接