2010-06-30 6 views
13

Existe-t-il un moyen d'ajouter un fichier de configuration pour les applications WP7 comme pour les applications Windows et les applications Web? J'ai juste besoin d'un moyen facile de sauvegarder quelques paramètres. Je préfère ne pas créer mon propre objet et devoir sérialiser/désérialiser un fichier xml. Il ne semble y avoir aucun type de modèle d'élément que je puisse ajouter à mon projet, je me demande simplement si quelqu'un a fait cela ou une idée de la meilleure façon?Windows Phone 7 config/appSettings?

Répondre

7

Vous avez constaté que vous pouvez le faire en utilisant la classe IsolatedStorageSettings.ApplicationSettings.

31

J'ai écrit un wrapper simple autour de la classe IsolatedStorageSettings qui permet de stocker et d'extraire les paramètres. Peut-être que vous le trouverez utile.

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 vous ne l'appelez pas Settings.Save(); dans StoreSetting, votre code provoque une exception lorsque l'application WP7 se termine –

0

Jetez un oeil à Northern Lights boîte à outils WP7 (en NuGet), en particulier au PersistentVariables. Si vous voulez simplement sauvegarder les variables en tant que paramètres, cela fonctionnera, et Northern Lights en a beaucoup plus.

http://northernlights.codeplex.com/documentation