Navigation 通用应用程序中的导航服务

Navigation 通用应用程序中的导航服务,navigation,win-universal-app,Navigation,Win Universal App,我创建了一个Windows Phone 8.1项目,在该项目中,我在代码的不同部分使用了以下代码: if (this.NavigationService.CanGoBack) { this.NavigationService.RemoveBackEntry(); } 我尝试将此代码移植到一个通用应用程序,但我收到一个错误消息,说导航服务无法解决。我如何处理通用应用程序世界中的导航问题?我也有同样的问题,但也找不到导航服务 但经过一番搜索,我找到了导航的解决方案,我希望您可以使用类似的方

我创建了一个Windows Phone 8.1项目,在该项目中,我在代码的不同部分使用了以下代码:

if (this.NavigationService.CanGoBack)
{
    this.NavigationService.RemoveBackEntry();
}

我尝试将此代码移植到一个通用应用程序,但我收到一个错误消息,说导航服务无法解决。我如何处理通用应用程序世界中的导航问题?

我也有同样的问题,但也找不到导航服务

但经过一番搜索,我找到了导航的解决方案,我希望您可以使用类似的方法

private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
{
    this.Frame.Navigate(typeof(BasicPage2));
}
有关更多信息,请参阅第页

BackButton在Windows 8.1上的工作方式完全不同,您不需要删除BackEntry()。但是,当你想返回时,你必须添加一些代码

例如:

如果您从主页导航到第1页,并且希望使用(硬件)BackButton从第1页导航回主页,请将以下内容添加到主页:

在构造函数中添加以下内容:

Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;
并创建此方法:

 void HardwareButtons_BackPressed(object sender, Windows.Phone.UI.Input.BackPressedEventArgs e)
    {
        if (Frame.CanGoBack)
        {
            Frame.GoBack();
            //Indicate the back button press is handled so the app does not exit
            e.Handled = true;
        }
    }

现在,您的应用程序使用BackButton从第1页导航回主页。

谢谢,这为我指明了正确的方向。我猜我可以使用方法
this.Frame.BackStack.RemoveAt(index)
来获得与remove back entry类似的功能;要删除back Entry,我无法理解为什么它不包含在默认模板中。