我希望有一个对话框来选择WPF Core应用程序中的文件夹,但找不到方法。
在WPF网络框架应用程序中,我可以使用System.Windows.Forms的FolderBrowserDialog。
我已阅读此线程:OpenFileDialog on .NET Core
但是对我来说,不清楚如何使用mm8用户的解决方案。
谢谢。
答案 0 :(得分:2)
Microsoft默认情况下没有在FolderBrowserDialog中提供文件夹选择器,这让我感到惊讶。您可以通过转到Nuget软件包管理器并输入以下命令来下载Windows API代码包:
Install-Package WindowsAPICodePack-Core
Install-Package WindowsAPICodePack-ExtendedLinguisticServices
Install-Package WindowsAPICodePack-Sensors
Install-Package WindowsAPICodePack-Shell
Install-Package WindowsAPICodePack-ShellExtensions
然后将引用添加到Microsoft.WindowsAPICodePack.dll
和Microsoft.WindowsAPICodePack.Shell.dll
。示例代码:
using Microsoft.WindowsAPICodePack.Dialogs;
var dlg = new CommonOpenFileDialog();
dlg.Title = "My Title";
dlg.IsFolderPicker = true;
dlg.InitialDirectory = currentDirectory;
dlg.AddToMostRecentlyUsedList = false;
dlg.AllowNonFileSystemItems = false;
dlg.DefaultDirectory = currentDirectory;
dlg.EnsureFileExists = true;
dlg.EnsurePathExists = true;
dlg.EnsureReadOnly = false;
dlg.EnsureValidNames = true;
dlg.Multiselect = false;
dlg.ShowPlacesList = true;
if (dlg.ShowDialog() == CommonFileDialogResult.Ok)
{
var folder = dlg.FileName;
// Do something with selected folder string
}