He estado buscando por toda la web y desafortunadamente nunca encontré con un problema bastante como la mía, así que aquí va:C#, WPF - OpenFileDialog no aparece
Mi C# aplicación de WPF no me mostrará ningún 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)
{
//...
}
}
Este código exacto hace en una ocasión exactamente lo que se supone que debe hacer y apenas cinco minutos después, puedo hacer clic en el botón todo lo que quiero, no pasa nada, pero el puntero del ratón se convierta en un poco ocupado en indicadores y luego nada. Puedo pasar por el método o hacer algo como esto
bool? shown = ofd.ShowDialog();
Pero pase lo que pase, el cuadro de diálogo no se mostrará. Por supuesto, se mostrará será falso en ese caso. Perdí una hora y media buscando ayer y justo cuando dejé de intentarlo de nuevo y de repente funcionó. A veces funciona, a veces no funciona. Pero parece ser específico del proyecto porque puedo pegar el mismo código en un nuevo proyecto y funciona como se supone que debe hacerlo. Además, eso es lo único del proyecto que parece sospechoso. Todo lo demás funciona según lo previsto.
¿Alguien aquí ha experimentado alguna vez algo similar y, por lo tanto, una idea de qué diablos podría hacer? Cualquier ayuda sería muy apreciada.
Como punto de referencia para aquellos que responden, esto parece ser 'Microsoft.Win32.OpenFileDialog' y no el equivalente' System.Windows.Forms.OpenFileDialog'. –
Sí, así es, gracias por la aclaración. – Koarl
Es una vieja pregunta, pero estoy experimentando el mismo fenómeno con un complemento de VSTO para Excel: "A veces funciona, otras veces no". Es totalmente impredecible. Desafortunadamente, ni experimentar con hilos de STA ni crear formularios (ficticios) o ventanas de WPF antes de llamar a OpenFileDialog.ShowDialog() (como se sugiere a continuación) previene este comportamiento. – bovender