„Zurück-Tasten-Druck“ innerhalb einer Windows 10 mobile App unterstützen

von tobonaut

Etwas wirr aber scheinbar dennoch gewollt. Bestätigt man innerhalb einer Windows 10 mobile App den Hardware „Zurück“-Button so kommt man zurück auf den Home-Screen – genau das Verhalten des mitten „Windows“-Buttons. Um das Feature „Gehe-eine-Navigationsebene-zurück“ zu ermöglichen, muss in der jeweiligen Code-Behind-Datei der entsprechenden XAML-Page zwei, drei Zeilen Quelltext hinzugefügt werden.

Back Button

1. Im Konstruktor auf das System Event hören

public InfoPage()
{
    InitializeComponent();
    SystemNavigationManager.GetForCurrentView().BackRequested += OnAppBackRequested;
}


2. Den in 1. angehängten Event-Handler mit Leben füllen

Hierbei prüft man einfach ob ob der Request valide ist. Fall er dies ist wird das Event als abegehandled angesehen und ein Frame zurück gesprungen.

private void OnAppBackRequested(object sender, BackRequestedEventArgs e)
{
    Frame frame = Window.Current.Content as Frame;
    if (frame == null || !frame.CanGoBack || e.Handled) return;

    e.Handled = true;
    frame.GoBack();
}

So etwas kann man auch ideal in eine eigene Subklasse der Page-Klasse packen. Eventuell benötigt man in Zukunft öfters solche kleinen Helferlein im Umfeld der Microsoft Universal Platform Entwicklung.

Advertisements