2016-09-28 1 views
0

Was ich habe, ist:Wie gehe ich von der Seite zurück, wo ich einen Fehler OnAppearing() erlebt habe?

protected override void OnAppearing() 
{ 
     base.OnAppearing(); 
     try 
     { 
      candyStore.Start(); 
     } 
     catch (UriFormatException e) 
     { 
      DisplayAlert("Couldn't find a store to load from", "OK"); 
      StoreNavigationPage.Current.PopAsync(); 
     } 
    } 

Das popAsync ist nur Methode von NavigationPage geerbt. Wenn ich jedoch eine Ausnahme abfange, ändern sich die Seiten nicht (wird nicht angezeigt). Vielleicht mache ich etwas falsch? (Ich teste es auf Android) Dank

+0

Danke euch allen für die Antworten! Ich habe das Problem selbst behoben. Das Problem war, dass ich nicht auf Alarm warte. Also habe ich gerade eine private Async-Methode gemacht, die auf das Ergebnis der Alert- und dann PopAsync-Seite wartet. – Petr

Antwort

0

Ich glaube, Sie App.Current.MainPage.Navigation.PopAsync() verwenden können, um zurück

+0

Vielen Dank für die Antwort! Es wird jedoch eine Ausnahme ausgegeben, die besagt, dass PopAsync auf Android nicht global unterstützt wird. – Petr

+0

@Petr können Sie PopModalAsync verwenden? – Alex

0

Sie

this.Navigation.PopAsync() 

nennen sollten, wenn Sie Nachricht haben „PopAsync nicht global auf Android unterstützt "Das heißt, dass Sie Navigationsseiten verschachtelt haben, sollten Sie PopAsync() auf der tiefsten

0

aufrufen Das Problem war, dass ich nicht await warnen. Also habe ich gerade eine private async Methode gemacht, die auf das Ergebnis der Warnung wartet und dann PopAsync Seite zurück.

+0

Sie sollten Ihre eigene Frage als Antwort akzeptieren. Sie fügen vorzugsweise ein Code-Snippet der Lösung für zukünftige Besucher ein, die das gleiche Problem haben. – Tschallacka

Verwandte Themen