Silverlight for Windows Phone: App von selbst beenden
Kommentare

In der Kolumne „XAML Expertise“ des Windows Developer präsentiert Gregor Biswanger Top-How-tos zum Thema XAML. Einsteiger und fortgeschrittene XAML-Experten sollen hier durch geballtes Wissen gesättigt werden. Heute gibt es folgende Expertise: „App von selbst beenden“. Viel Spaß mit „XAML Expertise“.

In der Regel sollte sich eine App nicht von selbst beenden. Entweder wird sie in einen Suspendet-Modus (Schlafmodus) gesetzt oder der Anwender schließt die App explizit durch den Back-Button. Wird diese Anforderung dennoch erwünscht, kann das durch einen einfachen Workaround mittels Exception ermöglicht werden. Denn unbehandelte Exceptions unter Silverlight lassen die Anwendung einfach ohne weiteren Hinweis beenden. Dafür eignet sich das Anlegen einer eigenen CloseException. Wird diese innerhalb der App geworfen, so soll sie bei der allgemeinen Application_UnhandledException-Methode unbehandelt an das System zurückgegeben werden. Durch eine einfache Erweiterung der App.xaml.cs-Datei lässt sich diese Funktion statisch zur Verfügung stellen (Listing 1). Diese kann dann applikationsweit mittels App.Close(); die App schließen lassen.

Listing 1: App.xaml.cs-Datei mit Close-Funktion erweitern
public static void Close()
{
throw new CloseException();
}

private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
if (e.ExceptionObject is CloseException)
return;

...
}
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -