C#, WPF - OpenFileDialog wird nicht angezeigt

Ich habe die Suche rauf und runter im web und leider kam nie über ein Problem, ganz wie mir, so geht ' s:

Mein C# - WPF-Anwendung nicht zeigen, dass mich keine OpenFileDialogs oder 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)
        {
           //...
        }
    }

Genau diesem code in einem Anlass genau das, was es tun soll und kaum fünf Minuten später kann ich klicken Sie auf die Schaltfläche alles was ich will, nichts passiert, aber der Mauszeiger verwandelt sich in ein wenig busy-Anzeige und dann nichts mehr. Ich kann Schritt für Schritt durch die Methode oder so etwas

bool? shown = ofd.ShowDialog();

Aber egal, was der dialog nicht angezeigt. Natürlich, gezeigt wird falsch in diesem Fall. Ich vergeudete anderthalb Stunden Suche gestern und rechts, wenn ich aussteige habe ich es wieder versucht und plötzlich funktionierte es. Manchmal klappt es, manchmal nicht. Aber es scheint ein Projekt zu bestimmten denn ich kann fügen Sie den gleichen code in ein neues Projekt und es funktioniert wie es soll. Auch, das ist das einzige, was über das Projekt, das scheint fischig. Alles andere funktioniert wie vorgesehen.

Hat jemand hier schon einmal erlebt etwas ähnliches, und damit eine Vorstellung von dem, was auf der Erde ich tun könnte?
Jede Hilfe weould sehr geschätzt werden.

  • Als Bezugspunkt für die Beantwortung, diese erscheint Microsoft.Win32.OpenFileDialog und nicht das äquivalent System.Windows.Forms.OpenFileDialog.
  • Ja, das ist richtig - Danke für die Klarstellung!
  • Es ist eine alte Frage, aber ich erlebe das gleiche Phänomen mit einem VSTO-add-in für Excel: "Manchmal klappt es, manchmal nicht." Es ist völlig unberechenbar. Leider, weder das Experimentieren mit STA-threads noch erstellen (dummy) forms oder WPF-windows vor dem Aufruf OpenFileDialog.ShowDialog() (wie unten vorgeschlagen) verhindert dieses Verhalten.
InformationsquelleAutor Koarl | 2010-02-04
Schreibe einen Kommentar