C# - WPF - 如何在不使用System.Windows.Forms的情况下获取文件夹浏览对话框?

12

我有一个 WPF 应用程序,并想要在其中添加从用户获取目录路径的功能。我想使用一些文件夹浏览对话框,但是我不想使用 System.Windows.Forms 实现它或者使用一些庞大的脚本。是否已经在 WPF 中实现了某个获取路径的对话框?

我已经在这里阅读了类似问题的答案,但是它们都充满了 System.Windows.Forms..

我在工具箱中没有找到任何类似的控件,而且我刚开始学习 WPF ,所以需要一些帮助。

先谢谢:]


1
@HenkHolterman 这样做WPF应用程序感觉很奇怪,所以我不会制作Windows Form应用程序,然后在那里使用其中的内容 :| - Ms. Nobody
你不必制作一个WinForms应用程序...只需借用几个类即可。@Blam: 不,不是真的。 - H H
1
@HenkHolterman 我知道,我知道...只是觉得WPF应该已经涵盖了WinForms中的东西。不是要从那里拿走它们,但好吧。只是好奇它真的不存在于某个地方,而我只是看不到它。 - Ms. Nobody
3
@好友,你不是唯一一个有这种想法的人。每次我需要引用Windows表单来使用对话框时,我总觉得很奇怪。我不明白为什么WPF没有自己的对话框?此外,我从一开始就不太喜欢FolderBrowserDialog。 - MisterXero
WinForms对话框的一个具体问题是无法设置父级。我们使用父级来实现编程式关闭模态对话框。 - Jeff Kotula
显示剩余3条评论
4个回答

12

Windows API Code Packs 可以通过 Nuget 在这里(http://www.nuget.org/packages/Windows7APICodePack-Shell/)和在这里(https://www.nuget.org/packages/Windows7APICodePack-Core/)获取。这对我很有效。 - Wallace Kelly

8
我们在项目中使用Ookii Dialogs。它们具有Windows外观和典型的筛选等选项。

这是一个链接,指向针对.NET 4.5的更新版WPF Ookii对话框,并且可在NuGet上获取 - C. Augusto Proiete

3

你想要的这种功能,WPF 没有标准的原生对话框,因为 System.Windows.Forms 对话框只是系统对话框的包装器。因此,创建 WPF 包装器没有意义,只会增加混乱。


19
不,没有意义的是缺乏这种基本构造的UI框架。没有文件夹浏览对话框?没有数字上下调节器?别开玩笑了。 - Ed S.

0

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