3

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

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

我尝试将此代码移植到通用应用程序,但我收到一条错误消息,提示无法解析 NavigationService。如何处理通用应用程序世界中的导航?

4

1 回答 1

7

我有同样的问题,也找不到 NavigationSerice。

但经过一番搜索,我找到了 Navigate 的解决方案,我希望你可以使用这样的东西。

private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
{
    this.Frame.Navigate(typeof(BasicPage2));
}

请参阅页面了解更多信息。

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

例如:

如果您从主页导航到第 1 页,并且您希望使用(硬件)返回按钮从第 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 从 Page1 导航回 Mainpage。

于 2014-04-17T14:05:48.113 回答