如何用来OpenFileDialog选择文件夹?
我打算使用以下项目:https://github.com/scottwis/OpenFileOrFolderDialog
但是,我遇到了一个问题.它使用GetOpenFileName功能和OPENFILENAME结构.并OPENFILENAME有成员的名字templateID.它是对话框模板的标识符.该项目也包含res1.rc文件和模板化对话框init.但我无法弄清楚如何将此文件附加到我的C#项目.
有没有更好的方法来使用OpenFileDialog选择文件夹?
我开发了一个WPF4应用程序,在我的应用程序中,我需要让用户选择一个应用程序将存储内容的文件夹(文件,生成的报告等).
我的要求:
能够查看标准文件夹树
能够选择文件夹
WPF的外观和感觉,此对话框必须看起来像是为Windows Vista/7而不是Windows 2000甚至Win9x设计的现代应用程序的一部分.
据我所知,到2010年(.Net 4.0)将没有标准的文件夹对话框,但是版本4.0可能有一些变化?
或者剩下要做的就是使用老式的WinForms对话框?如果这是我需要的唯一方法,我怎样才能让它更接近Vista/7风格而不是Win9x呢?
在某些论坛上,我看到了这种对话框的实现,但是在Windows 95中看到了丑陋的旧图标.它看起来并不好看.
我正在尝试使用我的WPF应用程序中的FolderBrowserDialog - 没什么特别的.我不太关心它有Windows窗体的外观.
但是,当我调用ShowDialog时,我想传递一个IWin32Window的所有者窗口.如何从我的WPF控件中获取此信息?
实际上,这有关系吗?如果我运行此代码并使用没有参数的ShowDialog重载,它可以正常工作.在什么情况下我需要通过所有者窗口?
谢谢,
克雷格
我有一个WPF应用程序,我需要让用户访问目录.我已经搜索到世界末日如何将Windows窗体集成到WPF中,并找到了有关如何将窗体控件集成到我的xaml中的各种信息,但是,集成FolderBrowserDialog ...
我是资深程序员,但对.net(实际上是第二天)非常新,我相信我无法找到关于实现这一点的好信息,因为我无法确定FolderBrowserDialog的名称/类型.
请帮忙.谢谢, - 大卫
哦,我正在使用c#和Visual Studio 2008
我正在将我的 WPF 桌面应用程序从 .NET Framework 迁移到 Core 3.0。我正在使用 System.Windows.Forms.FolderBrowserDialog() 并且我现在被困在如何将此引用添加到 Core 项目上。没有可用的“System.Windows.Forms”NuGet 包,是吗?有没有其他方法可以在 Core 中显示 FolderBrowserDialog?
更新
我使用默认模板创建了 Core 项目,然后将 .cs 和 .xaml 文件复制并粘贴到其中。.csproj 文件如下所示:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud) 如何从本机Win32应用程序中选择现有文件夹(或创建新文件夹)?
这是一个类似的问题.它对C#/ .NET有很好的答案.但是我希望原生Win32能做同样的事情.
有人知道解决方案,免费代码等吗?
更新:
我从答案中尝试了这个功能.除了必须调用SHGetPathFromIDList函数来检索所选目录的名称之外,所有内容都按预期工作.这是一个示例屏幕截图:

我想要一个对话框来选择 WPF Core 应用程序中的文件夹,但我找不到方法。
在 WPF 网络框架应用程序中,我可以使用 System.Windows.Forms 的 FolderBrowserDialog。
我已阅读此线程:.NET Core 上的 OpenFileDialog
但对我来说不清楚如何使用mm8用户的解决方案。
谢谢。