在 Windows Phone App 中按下后退按钮导航到后退两页

Backbutton press navigates to two page backward in Windows Phone App

在我的 windows phone 应用程序中,尽管我只按了一次硬件后退按钮,但有时它会让我向后翻两页。 为了处理后退按钮,我使用了以下代码片段:

 private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
 {
     e.Handled = true;
     if (Frame.CanGoBack)
     Frame.GoBack();
 }

并且在 OnNavigatedTo() 方法中我添加了以下行:

Windows.Phone.UI.Input.HardwareButtons.BackPressed += HardwareButtons_BackPressed;

如何确保按一次后退按钮后退一页?

OnNavigatedFrom 方法中添加以下行:

Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed;

如果 OnNavifatedFrom 在 XAML 页面的部分 class 中不存在,请按以下方式创建它:

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    Windows.Phone.UI.Input.HardwareButtons.BackPressed -= HardwareButtons_BackPressed;
}