【发布时间】:2014-06-20 21:03:28
【问题描述】:
我的应用中有一个屏幕,用户可以在其中输入数据。当他们离开页面时输入的数据没有保存,如果用户没有保存数据,我该如何实现确认机制。我使用 MVVM 作为设计模式。
提前致谢
【问题讨论】:
标签: mvvm back-button windows-phone-8.1 data-entry
我的应用中有一个屏幕,用户可以在其中输入数据。当他们离开页面时输入的数据没有保存,如果用户没有保存数据,我该如何实现确认机制。我使用 MVVM 作为设计模式。
提前致谢
【问题讨论】:
标签: mvvm back-button windows-phone-8.1 data-entry
你必须考虑两件事:
首先 - 用户使用 Back Button 离开您的 页面 - 他想要返回或退出应用程序 - 在这种情况下,您应该显示某种保存/否按钮提示。您必须在 Frame.GoBack() 执行之前执行此操作 - 根据您执行导航返回的位置(App.xaml.cs、NavigationHelper 等),您必须以不同的方式对其进行操作。主要思想是在带有导航的事件处理程序之前使用提示调用您的事件处理程序,并设置e.Handeled = true(您还必须确保带有导航的事件处理程序检查e.Handeled != true)。至于在任何其他事件处理程序之前订阅,您可以have a look at this code snippet
second - 用户使用 Start/Search/Hold Back 按钮离开您的 Page - 这样您的应用程序将是 Suspended 并且您无法停止它。在这种情况下您可以做什么 - 订阅 Suspending 事件并保存用户输入的状态,然后在 Resuming 事件中恢复。
【讨论】: