Впервые я реализую FolderBrowserDialog в WPF, и мне это совсем не нравится...
Помимо проблем, с которыми я столкнулся, выяснив, что Windows.Forms не упоминается в моем проекте, теперь у меня возникают проблемы с попыткой увидеть, что такое возвращаемое значение DialogResult...
С OpenFileDialog в прошлом я делал это так:
OpenFileDialog ofd = new OpenFileDialog();
Nullable<bool> result = ofd.ShowDialog();
if (result == true)
{
// all went well, carry on and do your thing here
}
К сожалению, теперь я получаю сообщения об ошибках, говорящих о преобразованиях типа DialogResult в bool и о том, что у вас есть.
Кажется, я не могу найти ничего о том, как выполнить этот шаг в использовании диалогового окна в WPF, может ли кто-нибудь пролить свет?
Заранее спасибо!
ИЗМЕНИТЬ
Вот мой код с поправками без ошибки преобразования типа. Я не уверен, какое значение проверять result
. Обычно я бы использовал DialogResult.OK
, за исключением того, что здесь это не является допустимым значением.
private void btnBrowse_Click(object sender, RoutedEventArgs e)
{
if (cmbTemplate.SelectedItem == "Blockbusters")
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result = fbd.ShowDialog();
//
// ERROR: 'System.Nullable<bool>' does not contain a definition for 'OK'
// and no extention method 'OK' accepting a first argument of type
// 'System.Nullable<bool>' could be found.
//
if (result == DialogResult.OK)
{
txtSource.Text = fbd.SelectedPath;
}
}
}
Dialog
не возвращает значение nullable bool, как это делают диалоги WPF, аDialogResult
. Просто намек. :) - person Patryk Ćwiek   schedule 11.02.2013