В моем приложении WPF пользователю нужно выбрать папку, путь к которой находится в сети компании. Я использую System.Windows.Forms.FolderBrowserDialog
, и следующий код выполняется при нажатии кнопки:
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.SelectedPath = "\\\\company.net\\data\\_Confidential";
DialogResult result = fbd.ShowDialog();
Когда открывается FolderBrowserDialog
, система автоматически сканирует другие сетевые устройства, что вызывает следующую проблему:
Дерево сети заполняется другими устройствами, из-за чего мой SelectedPath
прокручивается. Это довольно раздражает, когда пользователь начинает поиск специальной подпапки, потому что ему приходится прокручивать страницу вниз, иначе его клики по выбору могут попасть на только что добавленное устройство (потеря фокуса).
Как я могу избежать этой проблемы?
Мысли:
- Могу ли я расширить/переписать
System.Environment.SpecialFolder
Enum и установитьfbd.RootFolder = System.Environment.SpecialFolder.MySepcialNetworkPath;
- Должен ли я получить доступ к сетевой папке с помощью другого диалога/элемента управления?
- Должен ли я удалить «Обзор ...»
Button
в моем представлении и вместо этого сканировать весь путь\\\\company.net\\data\\_Confidential
и предоставить поле со списком / другой элемент управления выбором (например, собственное дерево подпапок)?
System.Windows.Forms.FolderBrowserDialog
? Почему вы не используете простойOpenFileDialog
? wpf-tutorial.com/dialogs/the-openfiledialog - person StepUp   schedule 27.01.2016FolderBrowserDialog
, потому что мне нужно получить имя папки, а затем установитьInitialDirectory
следующегоMicrosoft.Win32.OpenFileDialog
в выбранную папку. Кроме того, можно ли использоватьOpenFileDialog
с пустыми папками? - person Frank   schedule 27.01.2016