Xaml Windows 8应用程序开发中的GoBack()事件

Xaml Windows 8应用程序开发中的GoBack()事件,xaml,navigation,windows-8,windows-runtime,winrt-xaml,Xaml,Navigation,Windows 8,Windows Runtime,Winrt Xaml,我正在设计一个Windows8地铁阅读应用程序,刚开始的时候遇到了一个导航事件的问题。为了简化问题,描述如下: 有两个页面:MainPage.xaml和DetailPage.xaml。xaml包含一个列表视图,该项目是一个文章对象(这些文章项目是从web下载的),单击a项目。框架将使用 void ItemView_ItemClick(object sender, ItemClickEventArgs e) { // Navigate to the appr

我正在设计一个Windows8地铁阅读应用程序,刚开始的时候遇到了一个导航事件的问题。为了简化问题,描述如下:

有两个页面:MainPage.xaml和DetailPage.xaml。xaml包含一个列表视图,该项目是一个文章对象(这些文章项目是从web下载的),单击a项目。框架将使用

void ItemView_ItemClick(object sender, ItemClickEventArgs e)
        {
            // Navigate to the appropriate destination page, configuring the new page
            // by passing required information as a navigation parameter
            this.Frame.Navigate(typeof(DetailPage), e.ClickedItem);
        }
阅读完全文后,用户将单击“GoBack”按钮,该按钮定义为

<Button x:Name="backButton" Click="GoBack" IsEnabled="{Binding Frame.CanGoBack, ElementName=pageRoot}" Style="{StaticResource BackButtonStyle}"/>

然后问题来了,假设框架刚刚导航回主页面,但是导航之后,主页面中的DataContext丢失,并且主页面的构造函数被再次调用,获取web资源

作为一名Windows Phone开发人员,我对这个问题感到困惑。有人能帮我吗


提前感谢。

WinRT/XAML中指定的默认行为与Windows Phone上的PhoneApplicationPage中的不同。它默认为.Disabled,而NavigationCacheMode.Enabled或.Required是您可能希望使用的,以使其按预期工作。

在WinRT/XAML中指定的默认行为与在Windows Phone上的PhoneApplicationPage中指定的默认行为不同。它默认为.Disabled,而NavigationCacheMode.Enabled或.Required是您可能希望使用的,以使其按预期工作。

I在这里,希望对您有所帮助

即使启用了NavigationCacheMode,与Windows Phone相比也有一点不同:向后导航和向前导航时都会使用缓存。在Windows Phone中,向前导航时始终会创建一个新实例

在我的Windows 8应用程序中启用NavigationCacheMode后,我遇到了一些内存使用方面的问题,因此这是您应该关注的一件事。

我在这里,希望它能有所帮助

即使启用了NavigationCacheMode,与Windows Phone相比也有一点不同:向后导航和向前导航时都会使用缓存。在Windows Phone中,向前导航时始终会创建一个新实例

在我的Windows 8应用程序中启用NavigationCacheMode后,我遇到了一些内存使用问题,因此这是您应该关注的一件事