我希望用户选择一个目录,然后保存我将生成的文件.我知道在WPF中我应该使用OpenFileDialog
来自Win32,但不幸的是,对话框需要选择文件 - 如果我只是单击"确定"而不选择一个文件,它将保持打开状态.我可以通过让用户选择一个文件然后去除路径以找出它所属的目录来"破解"该功能,但这最多是不直观的.以前有人见过这个吗?
我开发了一个WPF4应用程序,在我的应用程序中,我需要让用户选择一个应用程序将存储内容的文件夹(文件,生成的报告等).
我的要求:
能够查看标准文件夹树
能够选择文件夹
WPF的外观和感觉,此对话框必须看起来像是为Windows Vista/7而不是Windows 2000甚至Win9x设计的现代应用程序的一部分.
据我所知,到2010年(.Net 4.0)将没有标准的文件夹对话框,但是版本4.0可能有一些变化?
或者剩下要做的就是使用老式的WinForms对话框?如果这是我需要的唯一方法,我怎样才能让它更接近Vista/7风格而不是Win9x呢?
在某些论坛上,我看到了这种对话框的实现,但是在Windows 95中看到了丑陋的旧图标.它看起来并不好看.
我在 Visual Studio 2019 中有一个项目,正在从 .NET Framework 4.6 迁移到 .NET Core 3.1。
我使用 Microsoft 的指南来移植我的项目,如下所述。我运行了可移植性分析器,它表明该项目是 100% 可移植的。
但对 System.Windows 的所有依赖都不再起作用。例如我使用System.Windows.Rect
. 在官方文档中明确指出它可用于.NET Core 3.1。
然而,在代码中,它用“无法找到类型或命名空间名称‘Rect’(您是否缺少 using 指令或程序集引用?)”标记 Rect,并在顶部用消息“ using System.Windows
Using 指令是”标记我的灰色。不必要”。
此错误适用于我的代码中的许多内容,例如System.Windows.ResourceDictionary
, System.Windows.Application.Current
, System.Windows.Point
, ...
因此,由于某些原因,我似乎无法使用System.Windows
,即使使用本身似乎工作正常。
System.Windows
我在 NuGet 包管理器中搜索并用谷歌搜索,但找不到任何东西。
所以这是我的问题:如何System.Windows
在 Visual Studio 2019 的 .NET Core 3.1 项目中使用?我目前的猜测是,我需要手动包含该程序集WindowsBase.dll
,但在我的安装目录 ( C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional
) 中我只能找到一个C:\Program Files (x86)\Microsoft …
在.NET Framework上,您可以将System.Windows.Forms.OpenFileDialog用于具有本机Windows UI的打开文件,但这仅适用于Windows.
.Net Core或其他替代方案有一个System.Windows.Forms.OpenFileDialog实现?
我在使用新的 .NET 5.0 应用程序时遇到问题。我想打开一个选择文件夹对话框,但我还没有找到一个类。我找到的所有代码都引用了该System.Windows.Forms
库。
using (var dialog = new System.Windows.Forms.FolderBrowserDialog())
{
System.Windows.Forms.DialogResult result = dialog.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
新方法是什么?