Мое приложение WPF состоит из главного окна, которое, в свою очередь, имеет дочернее окно.
Если я позволю дочернему окну открыть FolderBrowserDialog, я получу System.ComponentModel.Win32Exception (в WindowsBase.dll произошло первое случайное исключение типа «System.ComponentModel.Win32Exception»). В частности, это происходит после закрытия диалогового окна и когда дочернее окно снова получает фокус (?). Знак вопроса здесь, потому что мне не удалось поймать исключение, поэтому я не уверен на 100%. Но визуально именно тогда это и происходит. Если дочернее окно имеет фокус после закрытия диалогового окна, исключение возникает после того, как окно теряет фокус и восстанавливает его.
Если я перемещаю код открытия папки BrowserDialog в главное окно, этого не происходит. *** РЕДАКТИРОВАТЬ: Теперь это также приводит к сбою программы и из главного окна.
Почему я получаю это исключение? Что случилось? Как это исправить (кроме переноса в главное окно)?
Вот код, открывающий диалог; ничего экстраординарного. Код исключения удален.
FolderBrowserDialog dlg = new FolderBrowserDialog();
DialogResult result = dlg.ShowDialog();
if (result == DialogResult.OK)
selDir = dlg.SelectedPath;
Я использую VS2010, .Net 4.