Я пытаюсь использовать FolderBrowserDialog из WPF следующим образом:
public static bool BrowseFolder(out string folderName)
{
using (System.Windows.Forms.FolderBrowserDialog dlg = new System.Windows.Forms.FolderBrowserDialog())
{
var result = dlg.ShowDialog();
folderName = dlg.SelectedPath;
return result == System.Windows.Forms.DialogResult.OK;
}
}
При использовании «прерывания по исключению» в Visual Studio 2010 я получаю исключение после закрытия диалогового окна в вызове ShowDialog ().Мне любопытно, почему это происходит.
Исключение: Win32Exception
Сообщение: неверный параметр
Stacktrace: в MS.Win32.UnsafeNativeMethods.SetFocus (HandleRef hWnd)
Обновление
Я также пытался установить родителя явно, но, тем не менее, было сгенерировано исключение.
var w = new System.Windows.Interop.WindowInteropHelper(parent);
System.Windows.Forms.IWin32Window i = new WindowWrapper(w.Handle);
result = dlg.ShowDialog(i);