WinPhone 开发(4)-----快速恢复应用程序上一次的会话状态

  通过 App.xaml.cs 代码后置文件中的事件处理程序通知应用程序,保存应用程序的当前状态。通过 IsolatedStorageSettings 的独立存储特殊功能提供便捷的方法来保存名称/值对信息,而不必创建和访问文本文件。在用户重新启动应用程序之后,即可检索状态信息,并恢复应用程序在上一次会话中的状态。

  将下面的两个方法写到App.xaml.cs中,然后在Application_LaunchingApplication_Activated事件中调用LoadState方法,在Application_DeactivatedApplication_Closing事件事件中调用SaveState方法。
  其中“myValue”就是要保存的键,当然还要在XAML的后台代码中保存键相对应的值。例如 phoneAppService.State["myValue"] = "key";

 1 private void SaveState()
2 {
3 PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
4 IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
5
6 settings["myValue"] = phoneAppService.State["myValue"];
7 }
8
9 private void LoadState()
10 {
11 PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
12 IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
13
14 string content="";
15 if(settings.TryGetValue<string>("myValue",out content))
16 {
17 phoneAppService.State["myValue"] = content;
18 }
19 }

  
  最后在需要的时候再取出来用即可。例如 在XAMl 页面加载时获得myValue的值。

 1 private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
2 {
3 Object myValue;
4 if(phoneAppService.State.ContainsKey("myValue"))
5 {
6 if(phoneAppService.State.TryGetValue("myValue",out myValue))
7 {
8 myTextBox.Text=myValue.ToString();
9 }
10 }
11 }





一步一脚印 

 

posted @ 2012-03-01 19:58  Nereus_37  阅读(581)  评论(0编辑  收藏  举报