如何在其他类中从IsolatedStorage中检索值?

时间:2013-02-04 10:59:06

标签: class windows-phone-7 boolean isolatedstorage

我有两节课。首先使用来自ToggleSwitchButton的store boolean值,使用IsolatedStorage。

喜欢这个......

    private void tglSwitch_Checked(object sender, RoutedEventArgs e)
    {
        System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings["EnableLocation"] = true;  
    }
    private void tglSwitch_Unchecked(object sender, RoutedEventArgs e)
    {
        System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings["EnableLocation"] = false;
    }

第二个类将使用第一个类的布尔值来做某事。

喜欢这个......

     if(booleanValFromFirst){
        //Do something
     }
     else{
        //Do something
     }

感谢。

1 个答案:

答案 0 :(得分:2)

这是你想要的吗?

if ((bool)System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings["EnableLocation"] == true)

P.S。我建议您为所有值创建一个类,存储在“应用程序设置”中并使用它。

像这样:

public static class SettingsManager
    {
        private static IsolatedStorageSettings appSettings;

        public static IsolatedStorageSettings AppSettings
        {
            get { return SettingsManager.appSettings; }
            set { SettingsManager.appSettings = value; }
        }

        public static void LoadSettings()
        {
            // Constructor
            if (appSettings == null)
                appSettings = IsolatedStorageSettings.ApplicationSettings;

            // Generate Keys if not created
            if (!appSettings.Contains(Constants.SomeKey))
                appSettings[Constants.SomeKey] = "Some Default value";

            // generate other keys             

       }
   }

然后您可以使用该类实例

在您的启动课程中将其初始化为SettingsManager.LoadSettings();

然后在任何一个班级只需要它:

if ((bool)SettingsManager.AppSettings[Constants.SomeBoolKey])
     doSomething();