在棱镜中导航后,未维护上一页实例

时间:2018-10-28 17:47:10

标签: c# xamarin.forms prism

我正在Xamarin.Forms中使用最新版本的Prism.MVVM。在这种情况下,如果我尝试从第一页导航到第二页,则会再次初始化第一页。即再次调用第一页的构造函数。

例如,我有Page1.xaml和Page2.xaml页面,分别具有各自的视图模型(将在创建棱镜时自动创建并注册这些页面)。 我从页面1导航到页面2,如下所示: NavigationAsync(“ Navigation / Page1 / Page2”)

在导航时,将调用Page1.xaml的构造函数,以便重新创建页面,这导致我无法维护Page1.xaml实例。另外,请注意,Page1.xaml是“主从细节”页面。

这是Prism中的行为吗?如果可以,我该如何克服呢?

谢谢。

1 个答案:

答案 0 :(得分:0)

在XAML页面上导航会在UWP中将其破坏。您可以通过在XAML页面的标记中添加一行来保留页面的状态数据(并避免重新构造):

NavigationCacheMode="Required"

它在Xamarin中是否起作用?