Windows phone 7 config / appSettings?

2019-01-15 07:30发布

问题:

Is there a way to add a config file for WP7 apps like there is for Windows apps and web apps? I just need an easy way to save a few settings I'd rather not create my own object and have to serialize/deserialize an xml file. There doesn't seem to by any kind of item template that I can add to my project so just wondering if anyone has done this or an idea on the best way?

回答1:

I wrote a simple wrapper around the IsolatedStorageSettings class that helps store and retrieve settings. Maybe you will find it useful.

using System.IO.IsolatedStorage;

public static class AppSettings
{
    private static IsolatedStorageSettings Settings = System.IO.IsolatedStorage.IsolatedStorageSettings.ApplicationSettings;

    public static void StoreSetting(string settingName, string value)
    {
        StoreSetting<string>(settingName, value);
    }

    public static void StoreSetting<TValue>(string settingName, TValue value)
    {
        if (!Settings.Contains(settingName))
            Settings.Add(settingName, value);
        else
            Settings[settingName] = value;

        // EDIT: if you don't call Save then WP7 will corrupt your memory!
        Settings.Save();
    }

    public static bool TryGetSetting<TValue>(string settingName, out TValue value)
    {            
        if (Settings.Contains(settingName))
        {
            value = (TValue)Settings[settingName];
            return true;
        }

        value = default(TValue);
        return false;
    }
}


回答2:

Found that you can do this using IsolatedStorageSettings.ApplicationSettings class.



回答3:

IsolatedStorageSettings.ApplicationSettings does work though I just posted about some other options available including:

  • App.config w/mobile configuration block
  • App.xaml / resource dictionary
  • T4 generated settings class
  • Build events
  • Protecting "private" settings

at http://www.geoffhudik.com/tech/2012/1/26/windows-phone-app-config-settings-thinking-outside-the-box.html



回答4:

Take a look at Northern Lights WP7 toolkit (in nuget), specifically at the PersistentVariables. If you're just going to save variables as settings, this'll work, and Northern Lights has a lot more to it as well.

http://northernlights.codeplex.com/documentation