-2

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

可能有什么问题?

4

2 回答 2

1

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

更好的是,考虑添加“基本页面”。它本质上将具有backstack。如果您从 导航MainPageBasic 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;
}
于 2014-06-03T05:14:04.793 回答
0

您可能忘记使用NavigationHelper通用应用程序模板中包含的内容。

您应该在每个页面上都这样使用它:

NavigationHelper _navigationHelper;

public LoginPage()
{
    this.InitializeComponent();

    _navigationHelper = new NavigationHelper(this);
}
于 2014-05-17T09:11:27.483 回答