Ich habe eine Windows 8 Store-App (XAML/C#) geschrieben, die ich auf einer Microsoft-Oberfläche ausgeführt habe. Die App ist im Grunde eine Dateneingabeanwendung, die keine Speicherschaltflächen hat. Das Speichern wird automatisch ausgeführt, wenn zwischen den Seiten gesprungen wird oder wenn die Anwendung angehalten wird.Daten speichern, wenn Windows 8 Store App geschlossen wird
Ein Senario, das ich nicht zu fangen scheint, ist jedoch, wenn der Benutzer die Anwendung schließt (wenn die Benutzer von oben nach unten wischen).
Also im Moment habe ich zu App.Current.Suspending abonnieren und hier speichern rufen:
App.Current.Suspending += Current_Suspending;
void Current_Suspending(object sender, Windows.ApplicationModel.SuspendingEventArgs e)
{
Save();
}
ich auch die Savestate-Methode außer Kraft setzen und rufen Speichern hier:
protected override void SaveState(Dictionary<string, object> pageState)
{
Save();
base.SaveState(pageState);
}
Aber niether davon Methoden werden aufgerufen, wenn die Anwendung geschlossen wird.
Kennt jemand ein Ereignis, das ausgelöst wird, wenn die App geschlossen wird?
Dank
Ihre Verwendung des Wortes „geschlossen“, wenn Ihr über die Anwendung sprechen, ist ein wenig verwirrend aufgehängt ist. Können Sie feststellen, ob das Suspending-Ereignis tatsächlich eintritt, wenn nicht, dann binden Sie das Ereignis nicht korrekt ein. Scheint, als ob dieser Artikel Ihnen helfen könnte, dies auf die richtige Weise zu tun: http://msdn.microsoft.com/en-us/library/windows/apps/hh986968.aspx –
Das aussetzende Ereignis wird ausgelöst, wenn die App angehalten wird, aber wenn sie geschlossen wird es tut es nicht. Wenn ich "Geschlossen" sage, bedeutet dies, dass der Benutzer den Bildschirm von oben nach unten wischt (oder Alt-F4 drückt). – Sun
Ihr Suspendierungsereignis tritt nur auf, wenn die Anwendung nicht geschlossen ist. Sie müssen mit der Anwendung umgehen, die sich tatsächlich dauerhaft schließt, indem Sie das Ereignis behandeln, das beim Schließen der Anwendung auftritt. –