Есть ли способ добавить файл конфигурации для приложений WP7, например, для приложений Windows и веб-приложений? Мне просто нужен простой способ сохранить несколько настроек, которые я бы предпочел не создавать свой собственный объект, и вам придется сериализовать/десериализовать xml файл. Кажется, что какой-либо шаблон элемента не может быть добавлен в мой проект, поэтому просто интересно, действительно ли кто-то сделал это или идею наилучшим образом?
Windows Phone 7 config/appSettings?
Ответ 1
Установлено, что вы можете сделать это, используя класс IsolStorageSettings.ApplicationSettings.
Ответ 2
Я написал простую оболочку вокруг класса IsolatedStorageSettings, который помогает сохранять и извлекать настройки. Возможно, вы найдете это полезным.
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;
}
}
Ответ 3
IsolatedStorageSettings.ApplicationSettings работает, хотя я только что опубликовал некоторые другие доступные опции, включая:
- App.config с блоком мобильной конфигурации
- словарь App.xaml/resource
- T4 сгенерированный класс настроек
- События сборки
- Защита настроек "private"
Ответ 4
Взгляните на инструментарий Northern Lights WP7 (в nuget), в частности на PersistentVariables. Если вы собираетесь сохранить переменные в качестве настроек, это сработает, и у Northern Lights будет намного больше.