Problema di navigazione del telefono Windows
-
26-09-2019 - |
Domanda
Ho un'applicazione in cui da MainPage.xaml navigo verso una pagina chiamata diciamo two.xaml.
In Two.xaml vado quindi a Three.xaml..
Ora per Three.xaml voglio tornare a mainPage.Xaml.
In Three.xaml se lo faccio
this.NavigationService.GoBack();
this.NavigationService.GoBack();
Ottengo un'eccezione InvalidOperationException.
Se lo faccio
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
il sistema creerà un'altra istanza di MainPage.xaml, cosa che non voglio perché perderà il suo stato originale.
Qualcuno ha soluzioni a questo problema?
Soluzione
puoi salvare lo stato attuale ad esempio nella proprietà statale del PhoneApplicationService Class, quindi naviga tra le tue pagine e quando torni alla MainPage devi semplicemente implementare il metodo OnNavigationTo() della MainPage e caricare State-Data.
Spero che questo ti aiuti...
Altri suggerimenti
Per quanto ne so, si suppone che non manipolare lo stack indietro nella vostra app. Che cordellcp3 dice può essere una buona idea per implementare
Se il tuo intento è navigare in questo modo:MainPage-> PagetWo-> PageThee User Preme Back pulsante e va a MainPage È possibile utilizzare questo:NavigationService.RemoveBackEntry()documentazione
spero che sia d'aiuto