我的应用中有一个用户输入数据的屏幕。当他们离开页面时,输入的数据不会被保存,如果用户没有保存数据,我该如何实现确认机制。我使用MVVM作为设计模式。
提前致谢
答案 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事件。