Windows phone 8.1处理数据输入页面上的后退按钮

时间:2014-06-20 21:03:29

标签: mvvm back-button windows-phone-8.1 data-entry

我的应用中有一个用户输入数据的屏幕。当他们离开页面时,输入的数据不会被保存,如果用户没有保存数据,我该如何实现确认机制。我使用MVVM作为设计模式。

提前致谢

1 个答案:

答案 0 :(得分:0)

你必须考虑两件事:

  • 首先 - 用户将页面后退按钮一起离开 - 他想要导航或退出应用程序 - 在这种情况下,您应该显示某种类型的使用保存/否按钮提示。您必须在执行Frame.GoBack()之前执行此操作 - 取决于执行导航的位置(App.xaml.cs,NavigationHelper,other),您必须以差异方式对其​​进行nadle。主要思想是在带有导航的提示之前调用你的事件处理程序,然后设置e.Handeled = true(你还必须确保带有导航的事件处理程序检查e.Handeled != true)。至于在任何其他事件处理程序之前订阅,您可以have a look at this code snippet

  • 秒 - 用户将页面开始/搜索/保留后退按钮一起离开 - 这样你的应用程序就会Suspended而你无法阻止它。在这种情况下你可以做什么 - 订阅Suspending事件并保存用户输入的状态,然后将其恢复到Resuming事件。