我将所有ViewModel保留在IOC中。并重新加载页面并离开页面 创建一个新的实例,一切都是空的,起初我认为也许是页面,我需要保留在一个容器中,但后来注意到,例如ListView在页面上,尽管重新加载页面,它被制成一个单例? 问题在于问题所在,在我的自定义元素和控件中,它们不是单例,还是每次都重新加载页面?
答案 0 :(得分:2)
背后的想法非常简单。由于导航到页面时,数据未存储在页面中,因此正在创建页面的新实例。
您可以通过维护页面的静态实例来实现此目的。即页面仅在第一次运行应用程序时创建。下次加载页面时,将保持状态。
如果您正在使用棱镜,请转到处理导航/平铺导航的主视图。在每个屏幕中,可能会创建一个新对象。如果在主视图中创建每个视图的静态实例,我们可以确保数据不会丢失,因为静态实例只在整个应用程序中创建一次。
希望你明白这一点。如果有任何疑问,请回复。