Windows phone 7 页面导航-将数据保留在上一页

Windows phone 7 页面导航-将数据保留在上一页,windows-phone-7,windows-phone-8,windows-phone,windows-phone-7.1,Windows Phone 7,Windows Phone 8,Windows Phone,Windows Phone 7.1,在windows phone应用程序中,一个页面被导航到另一个页面,然后按“上一步”按钮返回到上一页。现在,在上一页中,必须显示上一个数据。但它不会立即显示,需要一些时间才能加载。如何解决这个问题? 总的来说,问题是如何维护包含动态数据的页面内容,这些数据显示在后台导航中 在页面之间导航时,使用类保留数据。这是。实际上,这很容易: protected override void OnNavigatedFrom(NavigationEventArgs args) { if (Conten

在windows phone应用程序中,一个页面被导航到另一个页面,然后按“上一步”按钮返回到上一页。现在,在上一页中,必须显示上一个数据。但它不会立即显示,需要一些时间才能加载。如何解决这个问题? 总的来说,问题是如何维护包含动态数据的页面内容,这些数据显示在后台导航中

在页面之间导航时,使用类保留数据。这是。实际上,这很容易:

protected override void OnNavigatedFrom(NavigationEventArgs args)
{ 
    if (ContentPanel.Background is SolidColorBrush) 
    { 
        Color clr = (ContentPanel.Background as SolidColorBrush).Color; 
        if (args.Content is MainPage) (args.Content as MainPage).ReturnedColor = clr; 
        // save color
        PhoneApplicationService.Current.State["Color"] = clr; 
    } 
    base.OnNavigatedFrom(args); 
} 

protected override void OnNavigatedTo(NavigationEventArgs args) 
{ 
    // restore color
    if (PhoneApplicationService.Current.State.ContainsKey("Color")) 
    { 
        Color clr = (Color)PhoneApplicationService.Current.State["Color"];
        ContentPanel.Background = new SolidColorBrush(clr);
    } 
    base.OnNavigatedTo(args); 
}

如果所有控件都绑定到视图模型中的属性,则可以使用视图模型的单吨对象在页面中存储数据。
然后,如果您在离开页面导航时未清除控件的值,则当您导航回该屏幕时,数据将显示在该页面中,前提是所有控件均已显示。例如,在UC browse中,当我们返回上一页时,上一页的数据未被清除。CREA7或提供了一些示例代码。这样做的目的是将页面的状态存储在PhoneApplicationService dictionary或PhoneApplicationPage中。当您离开页面时,在OnNavigatedFrom上设置词典状态,当您导航回该页面时,在NavigatedTo上恢复词典状态。答案中有一个示例代码。这段代码有什么困难吗?实际上,在我的应用程序中,页面包含从服务器加载数据的列表,以及我应该在NavigatedFrom和To方法中传递什么?您想存储什么?完整的列表?几乎没有选择。若列表很简单,比如名称,将它们连接成一个字符串,然后保存。加载时,将“保存大字符串”拆分为多个片段并填充列表。