Как по мне достаточно тривиальный вопрос, но почему то как то все очень сложно и ним. Мне нужно сделать такое: юзер кликает на кнопку - открывается диалоговое окно - он там выбирает несколько папок - нажимает ок
Я не вижу ни одного толкового примера как это сделать (странно, что этого нет из коробки)
Нашел вот такое
http://www.ssware.com/articles/folderbrowserdialog-unmasked-everything-you-wanted-to-know-about-the-folder-browser-component-from-dotnet-framework.htm
Там на втором скрине вроде как что то похожеее, но нет примера имплементации...
потом нашел еще вот такое
https://social.msdn.microsoft.com/Forums/vstudio/en-US/805b250b-ed99-4650-8b48-d3e3fde78204/multi-select-folder-in-wpf?forum=wpf
но опять же, нет нормального примера имплементации
Вопрос, как сделать выбор нескольких папок в C# WPF?
К сожалению многое Microsoft не добавили в WPF, что приходится нам с вами компенсировать сторонними библиотеками и диалоги тут не исключение.
Дальше создаем сам объект диалога:
using var dialog = new CommonOpenFileDialog
{
IsFolderPicker = true,
Multiselect = true
};
Тут я использовал две настройки:
IsFolderPicker - будет выбор среди директорий, а не файлов.Multiselect - необходимый вам multi-select.Ну и осталось нам вызвать окно и получить результат:
if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
{
var folders = dialog.FileNames;
MessageBox.Show(string.Join("\n", folders));
}
Библиотечка имеет множество настроек, там уж думаю интуитивно разберетесь что да как.
Результат:
Сборка персонального компьютера от Artline: умный выбор для современных пользователей