在Windows 8 C#App中导航回来时,页面构造函数会再次被调用

时间:2012-09-28 04:51:42

标签: windows-8 windows-runtime windows-store-apps winrt-xaml windows-store

我发现在Windows 8应用程序中,当导航回此页面时,总是会再次调用Page的构造函数,但在Windows Phone 7应用程序中并非如此。

由于这种行为,该页面的所有属性都会丢失,您需要以某种方式存储它们并在重新激活页面后重新分配它们。目前,我使用SaveState方法保存数据并使用LoadState方法重新分配数据。这两种方法都内置在Grid / Split App示例中。

我想知道为什么它是这样设计的,如果有更好的方法来维护页面的实例?

1 个答案:

答案 0 :(得分:5)

您可以为要保留在内存中的每个页面设置Page.NavigationCacheMode = NavigationCacheMode.Required,但请注意,您必须确保用户无法无休止地浏览这些页面,因为这会泄漏内存。