我有一个应用程序,从MainPage.xaml我导航到一个名为say.xaml的页面。
在Two.xaml中,我然后导航到Three.xaml ..
现在对于Three.xaml我想导航回mainPage.Xaml。
在Three.xaml中如果我这样做
this.NavigationService.GoBack();
this.NavigationService.GoBack();
我收到InvalidOperationException。
如果我这样做
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
系统将创建另一个MainPage.xaml实例,我不想要它,因为它会失去原来的状态。
任何人都有解决此问题的方法吗?
答案 0 :(得分:2)
你可以保存实际状态,例如在PhoneApplicationService类的State-Property中,然后浏览你的页面,当你回到MainPage时,你只需要实现MainPage的OnNavigatedTo()方法和加载State-Data。
希望这会有所帮助......
答案 1 :(得分:0)
AFAIK,您不应该在应用中操纵后台堆栈。 cordellcp3所说的实现可能是一个好主意
答案 2 :(得分:0)
如果您打算以这种方式导航: MainPage-> PageTwo-> PageThree 用户按下Back Button并转到MainPage,您可以使用: NavigationService.RemoveBackEntry() documentation
希望有所帮助