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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top