C# 我怎样才能像以前一样覆盖后退按钮?

C# 我怎样才能像以前一样覆盖后退按钮?,c#,windows-phone-8.1,C#,Windows Phone 8.1,我刚刚安装了WindowsPhone8.1SDK,并考虑了一个应用程序。但我甚至不能来回导航!后退按钮手机默认退出应用程序,由于所有页面现在都继承了“页面”,后退按钮的覆盖不会暴露 阅读但我不理解,我如何实现它?看看Visual Studio附带的任何WP项目(例如:Hub应用程序项目)。或者在应用程序中添加一个新的“BasicPage”。您会注意到,他们正在使用NAvigationHelper为您订阅BackPressed事件。你链接到的帖子解释得很好 关于用户按下后退按钮时引发的BackPr

我刚刚安装了WindowsPhone8.1SDK,并考虑了一个应用程序。但我甚至不能来回导航!后退按钮手机默认退出应用程序,由于所有页面现在都继承了“页面”,后退按钮的覆盖不会暴露


阅读但我不理解,我如何实现它?

看看Visual Studio附带的任何WP项目(例如:Hub应用程序项目)。或者在应用程序中添加一个新的“BasicPage”。您会注意到,他们正在使用NAvigationHelper为您订阅BackPressed事件。你链接到的帖子解释得很好

关于用户按下后退按钮时引发的BackPressed事件,需要了解的最重要的一点是,如果您的应用程序未处理该事件,则通过将BackPressedEventArgs.Handled属性设置为true,操作系统将挂起您的应用程序,并将用户返回到以前的体验

这篇文章给出了一个例子

private void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
{
    Frame frame = Window.Current.Content as Frame;
    if (frame == null)
    {
       return;
    }

    if (frame.CanGoBack)
    {
        frame.GoBack();
        e.Handled = true;
   }
}


注意,它设置
e.Handled=true
指示应用程序不应“关闭”。你是说“嘿,我已经处理好了”。在本例中,它将导航到上一页。

我想我还没有准备好迎接新时代:p但是这种新的项目类型和保留旧的silverlight one有什么关系?WP应用程序将移动到新的运行时,但所有功能尚未移动。因此,如果您需要一些东西,或者只是不想创建运行时应用程序,请使用Silverlight应用程序。很快一切都将基于运行时。谢谢您的回复Shawn!“运行时应用程序”是一个新的术语?你也可以看看-也许会对管理事件有所帮助。