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

Jus*_* XL 6 windows-8 windows-runtime windows-store winrt-xaml windows-store-apps

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

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

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

Fil*_*kun 5

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