我使用向前导航,Frame.Navigate
但是当我按下手机上的硬件后退键时,我最终进入了开始屏幕,而不是我刚刚访问的页面。
可能有什么问题?
我使用向前导航,Frame.Navigate
但是当我按下手机上的硬件后退键时,我最终进入了开始屏幕,而不是我刚刚访问的页面。
可能有什么问题?
问题背后的原因是,您正在创建一个空白页面。如果您正在创建一个空白页面,您应该定义应用程序在触发后退按钮时必须执行的操作。
更好的是,考虑添加“基本页面”。它本质上将具有backstack。如果您从 导航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;
}
您可能忘记使用NavigationHelper
通用应用程序模板中包含的内容。
您应该在每个页面上都这样使用它:
NavigationHelper _navigationHelper;
public LoginPage()
{
this.InitializeComponent();
_navigationHelper = new NavigationHelper(this);
}