与电脑不同,所有 Windows Phone 设备都有“后退”按钮,它允许用户在应用的页面之间向后导航。如果用户在转到应用的第一页时再次按“后退”按钮,操作系统会挂起你的应用并将用户导航到应用启动前的体验中。该体验可能是另一个应用,或者可能是“开始”屏幕。本主题讨论应用应如何处理 BackPressed 事件以提供一致的用户体验。
处理 BackPressed 事件
关于在用户按下“后退”按钮时引发的 BackPressed 事件,最需要了解的事情是:如果你的应用没有通过将BackPressedEventArgs.Handled 属性设置为 true 来处理该事件,操作系统将挂起你的应用并使用户返回上一个体验。因此,在事件处理程序中,如果你的应用可以向后导航,你需要这样操作,然后将BackPressedEventArgs.Handled 属性设置为 true。如果你的应用处于第一页且不能向后导航,你不应处理该事件,操作系统将挂起你的应用。幸运的是,Windows Phone 应用的模板中在默认情况下已提供用于此情况的逻辑。以下代码在 App.xaml.cs 文件中提供。
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; } }
转自:
https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/dn639128.aspx
时间: 2024-10-21 10:23:44