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

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

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

private void SaveState()
        {
            PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
            IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
            settings["myValue"] = phoneAppService.State["myValue"];
        }
        private void LoadState()
        {
            PhoneApplicationService phoneAppService = PhoneApplicationService.Current;
            IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
            string content="";
            if(settings.TryGetValue<string>("myValue",out content))
            {
                phoneAppService.State["myValue"] = content;
            }
        }

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

private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
            Object myValue;
            if(phoneAppService.State.ContainsKey("myValue"))
            {
                if(phoneAppService.State.TryGetValue("myValue",out myValue))
                {
                    myTextBox.Text=myValue.ToString();
                }
            }
        }

http://www.cnblogs.com/crazypig/archive/2012/03/01/2374654.html


你可能感兴趣的:(开发,WinPhone,快速恢复)