Windows Phone 8: Wie um zu zeigen, messagebox direkt vor dem beenden der App beim drücken Zurück-Taste?
Habe ich eine app braucht, um die Aufmerksamkeit des Benutzers, wenn der Benutzer die app verlassen mindestens einmal. Also ich bekomme den code unten, um ein Meldungsfeld angezeigt. Was ich nicht weiß ist, wie kann ich wirklich die app beenden, wenn der Benutzer die Nachricht gelesen hat? Da scheint es die zurück-Taste-Ereignis wird immer kommen, um den Anruf, den ich setup (OnBackKeyPress -) Oder was ist ein guter Weg, um zu behandeln, zeigt eine messagebox ohne Herumspielen überschreiben BackKey? Denn wenn ein anderes pop-up auf dem Bildschirm und der Benutzer drückt Taste "zurück", es scheint, ich habe einige Ausnahme, wenn ich versuchte, Griff backkey mich.
Meine ideale situation ist die app schließt sich sofort, sobald er/Sie drückte meine Exit-button der messagebox. Wenn Abbrechen gedrückt wird, wird Sie wieder ohne es zu beenden. Bitte helfen Sie. Danke!
Etwas, was ich benutzt... aber nicht gut
private void OnBackKeyPressed(object sender, CancelEventArgs e)
{
e.Cancel = true;
CheckBox checkBox = new CheckBox()
{
Content = "Do not ask me again",
Margin = new Thickness(0, 14, 0, -2)
};
TiltEffect.SetIsTiltEnabled(checkBox, true);
CustomMessageBox messageBox = new CustomMessageBox()
{
Caption = "Would you like to stop and exit?",
Message =
"If you want to continue listen music while doing other stuff, please use Home key instead of Back key",
Content = checkBox,
LeftButtonContent = "Exit",
RightButtonContent = "Cancel",
};
messageBox.Dismissed += (s1, e1) =>
{
switch (e1.Result)
{
case CustomMessageBoxResult.LeftButton: //Exit
return;//What to do here??
case CustomMessageBoxResult.RightButton: //Cancel
case CustomMessageBoxResult.None:
break;
default:
break;
}
};
messageBox.Show();
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wirklich brauchen, die Taste, sagen Sie "Beenden" Sie müssten entweder ColinE oder Paul Annetts Lösung. Persönlich würde ich versuchen, die Formulierung der Nachricht in einer anderen Art und Weise und verwenden Sie die normale Meldung wie diese:
Diese zeigt eine message-box, aber mit "Ok" und "Abbrechen" - button statt und beendet sich direkt, wenn der Benutzer drückt "Ok".
Und für die "nicht wieder Fragen", vielleicht noch eine Einstellung auf eine Einstellung-Seite statt. Und fügen Sie eine zweite dialog ist das erste mal, wenn der Benutzer die Auswahl zwischen "Ok" und "Abbrechen" wenn er oder Sie will, um zu sehen, den dialog wieder.
Leider gibt es keine schöne Möglichkeit, Ergebnisse zu erzielen Sie nach. Windows Phone ermöglicht es Ihnen nicht um programmgesteuert beenden Sie die Anwendung. Die Lösung, die die meisten Leute benutzen in diesem Fall ist zu werfen eine unhanded Ausnahme. Finden Sie unter den folgenden:
So Beenden Sie windows phone 7 app?
Gibt es eine Möglichkeit, programmgesteuert beenden Sie meine App? (Windows Phone 7)
Ich habe das gleiche getan mit dem custom message-box.
Änderungen an Ihrem code wie folgt:
Wenn der Benutzer drückt, Beenden Sie Ihre app wird beendet, Wenn die Presse in der Nähe, die Standard-Aktion von "Links" - button um das Meldungsfeld zu schließen.
Dies sollte funktionieren, vorausgesetzt, Sie setzen die Linie
in den richtigen stellen
Hoffe, das hilft
Für WP8, können Sie rufen Sie
Application.Current.Terminate()
programmgesteuert beenden Sie die app. Für WP7 ist dies nicht verfügbar, und Sie müssten, um wählen Sie eine der Optionen Colin gab.Allerdings sollten Sie vorsichtig sein, um zu erfüllen die Zertifizierungs-Anforderungen von Microsoft zu Speichern, wenn Sie diesen Weg gehen, so könnte Ihre app abgelehnt bekommen, wenn es sich nicht so verhält wie erwartet.
Können Sie einfach Abbrechen, den Fall der zurück-Taste zuerst gedrückt und dann auf der Basis der button geklickt wurde, auf die message-box können Sie die entsprechende Aktion wie folgt: