我怎么能像以前一样覆盖后退按钮?

时间:2014-06-04 17:18:30

标签: c# windows-phone-8.1

我刚刚安装了Windows Phone 8.1 SDK,并考虑到了应用程序。但我甚至无法来回导航!返回按钮手机默认退出应用程序,因为现在所有页面都继承了" Page"后退按钮的覆盖未暴露。

阅读http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn639128.aspx,但我不了解它,我该如何实施呢?

1 个答案:

答案 0 :(得分:2)

查看Visual Studio附带的任何WP项目(例如:Hub App项目)。或者在应用程序中添加新的“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;表示应用不应“关闭”。你说的是“嘿,我已经处理好了”。在示例中,它将导航到上一页。