0

我有一个应用程序,我从 MainPage.xaml 导航到一个名为 two.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 的另一个实例,这是我不想要的,因为它将失去其原始状态。

有人有这个问题的解决方案吗?

4

3 回答 3

2

例如,您可以将实际状态保存在PhoneApplicationService类的 State-Property 中,然后浏览您的页面,当返回 MainPage 时,您只需实现 MainPage 的 OnNavigatedTo() 方法并加载 State-Data。

希望这可以帮助...

于 2010-10-27T13:23:37.497 回答
0

AFAIK,您不应该在您的应用程序中操作后台堆栈。cordellcp3 所说的可能是一个好主意

于 2011-03-15T05:30:24.137 回答
0

如果您的意图是以这种方式导航: MainPage->PageTwo->PageThree 用户按下后退按钮并转到 MainPage 您可以使用:NavigationService.RemoveBackEntry() 文档

希望能帮助到你

于 2013-02-07T16:57:57.510 回答