Czy istnieje sposób na dodanie pliku konfiguracyjnego dla aplikacji WP7, tak jak ma to miejsce w przypadku aplikacji Windows i aplikacji internetowych? Potrzebuję tylko prostego sposobu na zapisanie kilku ustawień. Wolałbym nie tworzyć własnego obiektu i serializować/deserializować plik xml. Nie wydaje mi się, żeby przy pomocy jakiegokolwiek szablonu przedmiotu można było dodać do mojego projektu, tak więc zastanawiałem się, czy ktoś zrobił to lub pomysł w najlepszy sposób?Windows phone 7 config/appSettings?
13
A
Odpowiedz
7
Ustalono, że można to zrobić za pomocą klasy IsolatedStorageSettings.ApplicationSettings.
31
Napisałem proste opakowanie klasy IsolatedStorageSettings, które pomaga przechowywać i pobierać ustawienia. Może okaże się to przydatne.
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;
}
}
6
IsolatedStorageSettings.ApplicationSettings działa chociaż ja tylko pisał o jakichś innych opcji dostępnych w tym:
- App.config w/bloku konfiguracji telefonu
- słowniku App.xaml/zasobu
- T4 wygenerowane ustawienia klasa
- Tworzenie zdarzeń
- Ochrona ustawień "prywatnych"
+0
Świetna robota, dzięki! – Daniel
0
Spójrz na Northern Lights WP7 Toolkit (w Nuget), a konkretnie na PersistentVariables. Jeśli zamierzasz zapisywać zmienne jako ustawienia, to zadziała, a Northern Lights ma o wiele więcej.
Jeśli nie zadzwonisz Ustawienia.Save(); w StoreSetting, twój kod powoduje wyjątek, gdy aplikacja WP7 wychodzi –