我有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,现在向右的值改变。当我点击屏幕B上的后退按钮时,它将返回到屏幕A.现在屏幕A中的数据没有刷新。
我使用了onNavigatiedTo(),我在调用填充数据的方法。
但是应用程序崩溃了,因为它无法找到对象列表-listOfTopics。
如何解决这个问题?
答案 0 :(得分:0)
看看this example。
我无法监督您的整个应用程序,但可能是您正在寻找的示例,应用程序级数据中的配方4。
public partial class App : Application
{
...
public List<MyTopics> ListOfTopics { get; set; }
...
}
然后,您可以使用
从您的网页访问它(App.Current as App).ListOfTopics
或者甚至更好的是将它变成ObservableCollection并将其绑定到您的列表。