Sono stato alla ricerca su e giù per il web e, purtroppo, non sono imbattuto in un problema piuttosto come il mio, quindi ecco qui:C#, WPF - OpenFileDialog non appare
mio C# applicazione WPF non mi mostrerà nessun OpenFileDialogs o SafeFileDialogs.
private void btnBrowseNet_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.CheckPathExists = true;
ofd.Multiselect = false;
ofd.Title = "Open Network Configuration Batch file...";
ofd.ValidateNames = true;
ofd.Filter = "Comma Seperated Value Files|*.csv";
if (ofd.ShowDialog() == true)
{
//...
}
}
Questo codice esatto fa in un'occasione esattamente quello che deve fare e difficilmente cinque minuti dopo che posso fare clic sul pulsante tutto quello che voglio, non succede nulla ma il puntatore del mouse si trasforma in un po 'occupato-indicatore e poi Niente. Posso seguire il metodo o fare qualcosa di simile
bool? shown = ofd.ShowDialog();
Ma non importa quale, la finestra di dialogo non mostrerà. Ovviamente, mostrato sarà falso in quel caso. Ho sprecato un'ora e mezza a cercare ieri e proprio quando ho smesso ho provato di nuovo e all'improvviso ha funzionato. A volte funziona, a volte no. Ma sembra essere specifico del progetto perché posso incollare lo stesso codice in un nuovo progetto e funziona come dovrebbe. Inoltre, questa è l'unica cosa sul progetto che sembra strano. Tutto il resto funziona come previsto.
Qualcuno qui ha mai sperimentato qualcosa di simile e quindi un'idea di cosa potrei fare sulla terra? Qualsiasi aiuto potrebbe essere molto apprezzato.
Come punto di riferimento per coloro che rispondono, questo sembra essere 'Microsoft.Win32.OpenFileDialog' e non l'equivalente' System.Windows.Forms.OpenFileDialog'. –
Sì, è vero- Grazie per il chiarimento! – Koarl
È una vecchia domanda, ma sto riscontrando lo stesso fenomeno con un componente aggiuntivo VSTO per Excel: "A volte funziona, a volte no." È totalmente imprevedibile. Sfortunatamente, né la sperimentazione con i thread STA né la creazione di form (fittizi) o finestre WPF prima di chiamare OpenFileDialog.ShowDialog() (come suggerito di seguito) impedisce questo comportamento. – bovender