Первый раз я реализует FolderBrowserDialog в WPF, и я не люблю это один бит ...DialogResult с 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
}
к сожалению, я Теперь я получаю ошибки с этим высказыванием что-то о конверсиях из типа Dial ogResult to bool и все, что у вас есть.
Может показаться, что не нашли ничего о том, как завершить этот шаг в использовании диалога в WPF, может ли кто-нибудь пролить свет?
Заранее благодарен!
EDIT
Вот мой код с поправками без ошибок преобразования типа. Я не уверен, какую ценность нужно проверить 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;
}
}
}
Диалоговое окно Windows Forms 'Dialog' не возвращает nullable bool, как это делают диалоговые окна WPF, но [' DialogResult'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult .aspx). Просто намек. :) –
Если вы не можете понять ошибки в конверсиях между разными типами, возможно, вам стоит вернуться к основам ООП и C#, прежде чем пытаться что-то сделать в WPF, что является сложной структурой, не подходящей для неопытных разработчиков. –
@HighCore, хотя ваше предложение, возможно, было самым подходящим, оно также не имеет значения. Я понимаю ошибку, и поэтому я попытался установить результат на объект DialogResult, но это все еще не работает в инструкции if, поэтому моя путаница – Ortund