当我们从上一个活动返回时刷新列表框数据
本文关键字:刷新 列表 数据 返回 我们 上一个 活动 | 更新日期: 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,并将它绑定到你的列表。