Windows Phone后退按钮

时间:2015-03-27 07:18:51

标签: c# windows-phone-8

点击按钮后,我需要返回特定页面。更像是自定义后退按钮。

如果我知道页面是什么,我可以去确切的页面,

private void button_click(object sender, RoutedEventArgs e)
{
    Frame.Navigate(typeof(Page1));
}

此外,我可以通过

返回上一页
if(this.Frame.CanGoBack)
{
    Frame.GoBack();
}

但是如何立即跳到上一页之前的页面?

是否有任何网页历史记录?

3 个答案:

答案 0 :(得分:1)

您可以使用NavigationServices.BackStack访问之前页面的历史记录。

但是你没有具体的方法可以一次从2页回来。但是,如果您要跳到上一页之前的页面,则只需拨打NavigationServices.GoBack()两次。

此外,如果您要返回特定页面,您可以知道它在backstack之间的索引,并使用GoBack方法进行循环。

答案 1 :(得分:1)

您可以将BackStack中的所有页面作为列表获取:

var lstAllStackPages = this.Frame.BackStack.ToList();

并制作一个for循环来获取您的特定页面并导航到它。

答案 2 :(得分:1)

谢谢你@CoderDennis,我想通了。希望它能帮助别人。 如果我进入主页面,我想回到主页面

foreach (PageStackEntry stack in Frame.BackStack)
{
 //check if stack contains history of the main page. (Solution name: Helloworld)
 if (stack.SourcePageType == typeof(HelloWorld.MainPage))
   {
    Frame.Navigate(stack.SourcePageType);
    break;
   }
}