prima volta sto implementando un FolderBrowserDialog in WPF e io non sono innamorato un po '...DialogResult con FolderBrowserDialog in WPF
A parte i problemi che avevo capire che non è stato fatto riferimento Windows.Forms nel mio progetto, ora sto avendo problemi cercando di vedere ciò che il valore di ritorno DialogResult è ...
Con un'OpenFileDialog, in passato ho fatto così:
OpenFileDialog ofd = new OpenFileDialog();
Nullable<bool> result = ofd.ShowDialog();
if (result == true)
{
// all went well, carry on and do your thing here
}
Purtroppo, ora sto ricevendo errori con questo dicendo qualcosa sulle conversioni dal tipo Dial ogResult a bool e qualsiasi cosa tu abbia.
Non riesco a trovare nulla su come completare questo passaggio utilizzando la finestra di dialogo in WPF, qualcuno può far luce?
Grazie in anticipo!
EDIT
Ecco il mio codice e successive modifiche, senza l'errore di tipo di conversione. Non sono sicuro di quale valore controllare result
contro. Normalmente userei DialogResult.OK
eccetto che non appare qui come valore valido.
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;
}
}
}
La finestra di dialogo di Windows Form non restituisce bool nullable come fanno le finestre di dialogo WPF, ma ['DialogResult'] (http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult aspx). Solo un suggerimento. :) –
Se non riesci a capire gli errori relativi alle conversioni tra diversi tipi, forse dovresti tornare alle basi di OOP e C# prima di provare a fare qualcosa in WPF, che è una struttura complessa non adatta a sviluppatori senza esperienza. –
@HighCore mentre il tuo suggerimento potrebbe essere stato il più pertinente, è anche irrilevante. Capisco l'errore ed è per questo che ho provato ad impostare il risultato su un oggetto DialogResult, ma non funziona ancora nell'istruzione if - da qui la mia confusione – Ortund