无法使用通用应用程序中的硬件密钥向后导航

时间:2014-05-17 09:11:27

标签: windows-phone win-universal-app

我使用Frame.Navigate向前导航但是当我按下手机上的硬件后退键时,我最终在开始屏幕上而不是我刚刚访问过的页面。

可能出现什么问题?

2 个答案:

答案 0 :(得分:1)

问题背后的原因是,您正在创建一个空白页面。如果您要创建一个空白页面,则应该定义在触发后退按钮时应用程序必须执行的操作。

更好的是,考虑添加“基本页面”。它本质上会有背斜。如果您从MainPage导航到Basic Page,当您在Basic Page按下后退按钮时,它将返回MainPage

我希望这可以解决你的问题!

如果你想在你的应用程序中使用Blank Page,你需要在你想要覆盖后退按钮的页面上使用这样的内容:

在标题中添加:

using Windows.Phone.UI.Input;

然后在你的构造函数中:

HardwareButtons.BackPressed += HardwareButtons_BackPressed;

在代码中的任何位置添加:

void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
    HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
    this.Frame.Navigate(typeof(MainPage));
    e.Handled = true;
}

答案 1 :(得分:0)

您可能忘记使用通用应用模板中包含的NavigationHelper

你应该在每一页上都这样使用它:

NavigationHelper _navigationHelper;

public LoginPage()
{
    this.InitializeComponent();

    _navigationHelper = new NavigationHelper(this);
}
相关问题