我创建了一个 Windows Phone 8.1 项目,在该项目中,我在不同的代码片段中使用了以下代码:
if (this.NavigationService.CanGoBack)
{
this.NavigationService.RemoveBackEntry();
}
我尝试将此代码移植到通用应用程序,但我收到一条错误消息,提示无法解析 NavigationService。如何处理通用应用程序世界中的导航?
我创建了一个 Windows Phone 8.1 项目,在该项目中,我在不同的代码片段中使用了以下代码:
if (this.NavigationService.CanGoBack)
{
this.NavigationService.RemoveBackEntry();
}
我尝试将此代码移植到通用应用程序,但我收到一条错误消息,提示无法解析 NavigationService。如何处理通用应用程序世界中的导航?
我有同样的问题,也找不到 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。