Silverlight:IsolatedStorageSettings以在页面刷新之间保持数据

本文关键字:之间 刷新 数据 IsolatedStorageSettings Silverlight | 更新日期: 2023-09-27 17:58:55

我使用IsolatedStorageSettings类存储一些应用程序数据,这些数据应该在Silverlight导航应用程序的页面刷新后保留。数据存储在页面FirstPage.xaml中,并在SecondPage.xaml中检索。如果我不刷新,下面的代码就可以正常工作。但是,如果我对SecondPage.xaml(第二个页面)进行刷新,则AppStore中的值将返回空值。原因可能是什么。

public static class AppStore
{
    private static IsolatedStorageSettings appSettings = IsolatedStorageSettings.ApplicationSettings;      
    public static String MyData
    {
        get 
        {                
            if (appSettings.Contains("MyData"))
            {
               return(appSettings["MyData"].ToString());                   
            }                
            return String.Empty; 
        }
        set 
        {
            if (!appSettings.Contains("MyData"))
            {
                appSettings.Add("MyData", string.Empty);
            }
            appSettings["MyData"] = value;                
        }
    }
}
public partial class FirstPage : Page
{
     private string data = "somevalue";
     .
     .
     public FirstPage()
     {
        AppStore.MyData = data;
     }   
}

public partial class SecondPage : Page
{     
     public SecondPage()
     {
        ContentText.Text = AppStore.MyData;
     }   
}

Silverlight:IsolatedStorageSettings以在页面刷新之间保持数据

您没有将修改保存在IsolatedStorageSettings文件中,你应该使用这个

IsolatedStorageSettings.ApplicationSettings.Save();

请注意,您可以使用IsolatedStorageSettings.ApplicationSettings,而不是IsolatedSorageSettings的新实例。也不要保存对设置的每次修改,只需在App.Exit()事件处理程序中调用此方法,将数据保存到硬盘会很耗时。