Выберите путь по умолчанию для FolderBrowserDialog в c # wpf - PullRequest
2 голосов
/ 18 августа 2011

В настоящее время я работаю над проектом C # WPF. У меня есть FolderBrowserDialog в пространстве имен System.Windows.Forms. Я создаю экземпляр диалогового окна с переменной dlg и назначаю выбранный путь к Моим документам, используя следующую строку кода:

dlg.SelectedPath = Environment.SpecialFolder.MyDocuments.ToString();

Однако, похоже, это не имеет большого значения. Затем я попытался сделать то же самое, но с корневым путем, но, похоже, из-за этого он установит в качестве корневого каталога «Мои документы», и вы не сможете получить доступ к «Моим документам», т. Е. К C: \ или Desktop.

Как установить путь по умолчанию, но при этом разрешить доступ ко всем доступным областям диска, например, путь по умолчанию - «Мои документы», но пользователь может выйти за пределы «Мои документы» на C: \ или на рабочий стол.

Спасибо за любую помощь, которую вы можете предоставить.

1 Ответ

4 голосов
/ 18 августа 2011

Вы присваиваете неправильное значение SelectedPath.Установив Environment.SpecialFolder.MyDocuments.ToString(), вы устанавливаете строку «MyDocuments» (или «Personal», так как она имеет то же значение в перечислении Environment.SpecialFolder), что и SelectedPath.Его нельзя найти, так как это недопустимый путь, поэтому ничего не выбрано.

Вам необходимо найти путь к специальной папке, используя Environment.GetFolderPath():

dlg.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

Устанавливает путь к специальной папке, которую диалоговое окно просмотра папок будет выбирать при ее открытии.

...