2 Stimmen

Modale Popups schlagen fehl, wenn sie von einem Thread initiiert werden - CSharp WPF

Um Batch-Upload viele Dateien, gibt es einen Abschnitt von CSharp WPF-Code, die ich habe, die Threads erzeugt, um paralleles Hochladen von Dateien zu ermöglichen. Wenn ein Fehler mit dem Upload auftritt, würde eine Nachricht mit MessageBox auftauchen. Dies funktioniert gut.

Aber jetzt haben wir vor kurzem beschlossen, das Aussehen der MessageBox anzupassen. Ich finde, wenn unsere neue benutzerdefinierte WPF MessageBox-Fenster mit ShowDialog() geöffnet wird, dass ein Fehler ausgegeben wird, dass es nicht möglich ist, eine GUI zu starten. Dies geschieht nur, wenn Code aus dem gespawnten Thread versucht, das benutzerdefinierte Message-Fenster zu öffnen - ich sehe das Problem nicht, wenn eine benutzerdefinierte MessageBox aus dem Hauptthread geöffnet wird.

Meine vorläufige Lösung besteht darin, alle Fehler abzufangen, die beim Start des benutzerdefinierten Dialogs auftreten, und alternativ die Standardfunktion MessageBox.Show() aufzurufen, um die Meldung anzuzeigen. Das funktioniert.

Ich bin mir nicht sicher, warum es in Ordnung ist, die Standardfunktion MessageBox.Show() zu verwenden, aber nicht für das benutzerdefinierte Fenster. Gibt es eine Möglichkeit, dies zu umgehen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X