当我们从上一个活动返回时刷新列表框数据

本文关键字:刷新 列表 数据 返回 我们 上一个 活动 | 更新日期: 2023-09-27 17:50:51

我有3个屏幕A,B和C,在屏幕A中,我正在从xml填充数据并使用以下方法将其传递到屏幕B:

PhoneApplicationService.Current.State["MyObject"] = listOfTopics; // Passing list which has all topics.
NavigationService.Navigate(new Uri("/ScreenB.xaml", UriKind.Relative));

I屏幕B我正在接收列表,并使用它在列表框中显示项目列表。

 List<MyTopics> listOfTopics = PhoneApplicationService.Current.State["MyObject"] as List<MyTopics>;

UI屏幕B:


文本 ---------- 9


我从屏幕B的列表框中选择了一些项目,然后移动到下一个屏幕C,现在右边的值发生了变化。比如13或其他值。当我从屏幕B点击后退按钮时,它会回到屏幕A。现在我在屏幕A中的数据没有刷新。

我使用了onNavigatiedTo(),在那里我调用相同的方法填充数据。

但是应用程序在这里崩溃了,因为它找不到对象列表-listOfTopics .

当我们从上一个活动返回时刷新列表框数据

看一下这个例子。

我无法监督整个应用程序,但可能是示例中的配方4,应用程序级数据,是您正在寻找的。

public partial class App : Application
{
   ...
   public List<MyTopics> ListOfTopics { get; set; }
   ...
}

然后您可以使用

从您的页面访问它
(App.Current as App).ListOfTopics

或者更好的方法是使它成为一个ObservableCollection,并将它绑定到你的列表。