2010-06-30 31 views
13

¿Hay alguna manera de agregar un archivo de configuración para las aplicaciones WP7 como lo hay para las aplicaciones de Windows y las aplicaciones web? Solo necesito una forma sencilla de guardar algunas configuraciones Prefiero no crear mi propio objeto y tener que serializar/deserializar un archivo xml. No parece que haya ningún tipo de plantilla de artículo que pueda agregar a mi proyecto, así que me pregunto si alguien ha hecho esto o una idea de la mejor manera.Windows phone 7 config/appSettings?

Respuesta

7

Encontró que puede hacer esto usando la clase IsolatedStorageSettings.ApplicationSettings.

31

Escribí un envoltorio simple alrededor de la clase IsolatedStorageSettings que ayuda a almacenar y recuperar configuraciones. Tal vez lo encuentres útil.

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; 
    } 
} 
+1

Si usted no llama Settings.Save(); en StoreSetting, su código causa una excepción cuando la aplicación WP7 sale de –

0

Tome un vistazo a la aurora boreal WP7 toolkit (en Nuget), específicamente a los PersistentVariables. Si solo va a guardar variables como configuración, esto funcionará, y Northern Lights también tiene mucho más que eso.

http://northernlights.codeplex.com/documentation