Ich habe eine einfache WPF-Anwendung, die auch dann ausgeführt wird, nachdem ich sie explizit zum Herunterfahren aufgerufen habe.WPF-Anwendung wird auch nach dem expliziten Herunterfahren fortgesetzt
Es integriert sich in eine Anwendung von Drittanbietern und muss überprüfen, dass einige Dokumente eines bestimmten Typs und mit bestimmten Inhalt geöffnet sind, wie es initialisiert wird. Hier
ist ein Teil des Initialisierungscode:
try
{
ActiveProductDoc = Automation.CATIA.ActiveDocument as ProductDocument;
}
catch
{
InvalidAssemblyShutdown("You must have an assembly open before you run the app");
}
if(ActiveProduct == null)
InvalidAssemblyShutdown("You must have one assembly open (not a part)");
ActiveProduct = ActiveProductDoc.Product;
Und hier ist die InvalidAssemblyShutdown Methode:
private void InvalidAssemblyShutdown(string message)
{
MessageBox.Show(message);
Close();
Application.Current.Shutdown();
}
ich den Antrag der Shutdown Eigenschaft auf OnMainWindowClose gesetzt haben.
Ich mache gerade einen Use-Case-Test, bei dem der Benutzer den falschen Dokumenttyp geöffnet hat und das ActiveProduct-Feld daher null ist. Die InvalidAssemblyShutdown-Methode wird als erwartet aufgerufen, trotzdem wird die Zeile in der Initialisierungsmethode nach dem Shutdown-Aufruf weiterhin ausgeführt und löst eine Ausnahme aus.
Irgendwelche Ideen, was ist los?
Soll ich stattdessen Ausnahmen auslösen und einen globalen Ausnahmebehandler verwenden?
diese Antwort ist viel zu einfach – Eric
Ich bin mir sicher, dass wir etwas viel Komplexeres finden könnten, wenn Sie möchten. –