我怎么能重写后退按钮,因为我过去

本文关键字:因为 过去 按钮 怎么能 重写 | 更新日期: 2023-09-27 18:06:56

我刚刚安装了Windows Phone 8.1 SDK,并在脑海中有一个应用程序。但我甚至不能来回导航!返回按钮默认退出应用程序,由于所有页面现在都继承了"Page",因此返回按钮的覆盖没有公开。

阅读http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn639128.aspx但我不理解它,我怎么能实现它?

我怎么能重写后退按钮,因为我过去

看看Visual Studio中包含的任何WP项目(例如:Hub App项目)。或者在应用程序中添加一个新的"BasicPage"。你会注意到他们已经使用了一个NAvigationHelper来为你订阅BackPressed事件。你链接的帖子很好地解释了这一点。

当用户按下后退按钮时,BackPressed事件会被触发,最重要的事情是如果你的应用程序不处理该事件,通过设置BackPressedEventArgs。处理属性为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;来表示应用程序不应该"关闭"。你在说"嘿,我已经搞定了"。在本例中,它将导航到前一页。