我在应用程序中有几个页面需要进行A-Synchronous调用大约2-3分钟才能获得同步,用户可以在同步期间离开该页面,并且可以在访问多个页面后再次返回当他从同步页面进入页面并按下返回按钮时,一切正常......但是当我转到页面并从应用程序导航回同步页面时,同步一直在其他页面上继续栏创建一个新的页面实例,同步就像重新启动一样。
现在我知道每件事都运行正常,因为当我调用NavigationService.Navigate()时会创建一个页面的新实例,但是我应该在这种情况下做什么?如果它在那里,如何获取页面的旧实例?
...谢谢
答案 0 :(得分:0)
您无法获取页面的“旧”实例,并且无法保证向后导航将重新加载页面的上一个实例,它可能是同一页面的新实例,但已恢复到相同状态(假设你保存了任何东西)。
如果您尝试从应用程序栏提供向后导航,则a)您可能不应该因为这是后退按钮的用途,并且b)您应该确保使用NavigationService.GoBack()
而不是{{ 1}}因为导航将始终启动您网页的新实例。
如果您要访问的页面不是上一页,那么听起来您正在尝试实施App Hub上有配方的非线性导航。
根据您的方案的声音,您应该单独处理这个长时间运行的过程(远离视图),然后在用户导航到相关页面时显示它的进度或结果。