我正在Xamarin.Forms中使用最新版本的Prism.MVVM。在这种情况下,如果我尝试从第一页导航到第二页,则会再次初始化第一页。即再次调用第一页的构造函数。
例如,我有Page1.xaml和Page2.xaml页面,分别具有各自的视图模型(将在创建棱镜时自动创建并注册这些页面)。 我从页面1导航到页面2,如下所示: NavigationAsync(“ Navigation / Page1 / Page2”)
在导航时,将调用Page1.xaml的构造函数,以便重新创建页面,这导致我无法维护Page1.xaml实例。另外,请注意,Page1.xaml是“主从细节”页面。
这是Prism中的行为吗?如果可以,我该如何克服呢?
谢谢。
答案 0 :(得分:0)
在XAML页面上导航会在UWP中将其破坏。您可以通过在XAML页面的标记中添加一行来保留页面的状态数据(并避免重新构造):
NavigationCacheMode="Required"
它在Xamarin中是否起作用?