从第三个窗口回到历史的第一个窗口

时间:2012-09-30 05:33:10

标签: c# windows-phone-7

我正在开发一个Windows Phone应用程序,我有三个屏幕:

  1. 主屏幕
  2. 登录选择屏幕。
  3. 登录屏幕。
  4. 当用户登录并按下“登录”按钮时,我想从屏幕3返回到屏幕1。 现在我回到屏幕2并立即回到第一个。我不想显示2个屏幕。

    是否可以这样做?

3 个答案:

答案 0 :(得分:1)

第3页的某处添加

NavigationService.RemoveBackEntry();

这将从后台堆栈中删除第2页。现在,当用户点击后退键时,他将直接向后导航到第1页。

但正如Amal Dev所说,微软希望你让用户导航到上一页。这个规则似乎没有太多强制执行,它可能意味着"永远不会混淆用户"。如果您混淆了认证测试人员,您的应用将无法通过认证。

答案 1 :(得分:1)

试试这个

假设您的网页被命名为FirstPage.xaml,SecondPage.xaml,ThirdPage.xaml

//Check for the first page and remove the remaining back stack in your ThirdPage.xaml

  while(!NavigationService.BackStack.First().Source.OriginalString.Contains("FirstPage"))
  {
      NavigationService.RemoveBackEntry();
  }

  NavigationService.GoBack(); 

答案 2 :(得分:-1)

您可以使用NavigationService.Navigate方法。

  NavigationService.Navigate(new Uri( string.Format("/your page name.xaml?val={0}", ValueTextBox.Text), UriKind.Relative));

请参阅以下链接。

Simple Navigation In Windows Phone 7