C# 无法使用WIndows Phone 8.1中的“后退”按钮正确导航

C# 无法使用WIndows Phone 8.1中的“后退”按钮正确导航,c#,windows-phone-8.1,C#,Windows Phone 8.1,我正在为Windows应用商店和Windows Phone应用商店制作一个通用应用程序。我的手机版本有三个菜单屏幕,用户可以在其中导航。最初,无论我在哪个页面上,只要我使用硬件后退按钮,应用程序就会关闭。然后我像这样更改了后退按钮导航 主页: public MainPage() { this.InitializeComponent(); this.NavigationCacheMode = NavigationCacheMode.Required;

我正在为Windows应用商店和Windows Phone应用商店制作一个通用应用程序。我的手机版本有三个菜单屏幕,用户可以在其中导航。最初,无论我在哪个页面上,只要我使用硬件后退按钮,应用程序就会关闭。然后我像这样更改了后退按钮导航

主页:

public MainPage()
    {
        this.InitializeComponent();

        this.NavigationCacheMode = NavigationCacheMode.Required;

    }
游戏菜单页面(第2页)

此时,如果用户按下后退按钮,一切都正常工作。但是,当我进入第3页并尝试返回时,它将进入第2页,然后进入第1页,但按下后退按钮,应用程序将不会关闭

第3页

 public TrialPage()
    {
        this.InitializeComponent();
        HardwareButtons.BackPressed += HardwareButtons_BackPressed;
        CountDownTimer();
    }

    void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
    {
        this.Frame.Navigate(typeof(GameModes));
    }

记住HardwareButtons.BackPressed iss应用程序范围事件。据我所知,你并没有退订。尝试调试你的应用程序,尤其是在这些事件中设置断点,看看发生了什么。将
硬件按钮移动到
主页上,将订阅和处理程序反压到
主页上,然后将其从其他页面中删除怎么样?
 public TrialPage()
    {
        this.InitializeComponent();
        HardwareButtons.BackPressed += HardwareButtons_BackPressed;
        CountDownTimer();
    }

    void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
    {
        this.Frame.Navigate(typeof(GameModes));
    }