列表框未在Windows Phone 8中更新

时间:2015-03-13 20:48:17

标签: windows-phone-8

我正在开发一个应用程序,因为我有3页。在第一页我有一些数据列表框,在第三页我有导航到第一页的应用程序栏。我将从服务器获取列表框数据。每当我使用服务器数据绑定列表框时,它就会正确呈现,但如果用户使用应用程序栏从第3页导航到第1页,则列表框不会使用新数据进行更新,它仍然显示旧数据。如果用户使用后退键进入第一页,则会显示新数据。

我正在使用observable collection绑定List Box数据并使用NavigationService.Naviagte()进行导航。

帮我解决此问题。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

我不太确定你的问题,因为你还没有清除整个背景。但假设您的数据在返回按键时刷新,我建议您使用NavigationService.GoBack()代替NavigationService.Naviagte()。前一种方法调用相当于后退按键。 NavigationService.Naviagte()在内存中创建另一个页面实例,而NavigationService.GoBack()会将您带回到上一个实例。希望这会有所帮助。

答案 1 :(得分:0)

据我所知,你开始时一切都很好。但是第二次返回时没有发生更新,即通过导航。

我的想法是你所做的所有代码都在构造函数中,并且由于页面没有从内存中删除,因此不会调用构造函数。

两个解决方案将代码移动到已加载的事件。只需在构造函数中编写this.loaded + = eventname;

或者您可以将代码放入onnavigatedto事件中。写为新功能受保护的覆盖onnavigatedto。

如果您进行服务器调用,将其置于导航状态可能会降低您的应用响应速度。如果您在加载的事件中有代码,则信息将在完成后上载。这意味着用户将有一个旧信息的时刻。然后,如果出现问题,您可以引入等待屏幕。