Это то, что я сделал с помощью MvvmCross, с примером для хранения выбранного языка (необходим глобальный var). Я также использую тот же шаблон для версий и т. Д. Вот часть моего класса SettingsPreferences:
public static string SelectedLanguage
{
get { return Settings.AppSettings.GetValueOrDefault(StringConstants.SelectedLanguage, SelectedLanguageDefault); }
set { Settings.AppSettings.AddOrUpdateValue(StringConstants.SelectedLanguage, value); }
}
public static bool FirstRun
{
get { return Settings.AppSettings.GetValueOrDefault(StringConstants.FirstRun, FirstRunDefault); }
set { Settings.AppSettings.AddOrUpdateValue(StringConstants.FirstRun, value); }
}
public static int LatestUpdateVersion
{
get { return Settings.AppSettings.GetValueOrDefault(StringConstants.LatestUpdateVersion, LatestUpdateVersionDefault); }
set { Settings.AppSettings.AddOrUpdateValue(StringConstants.LatestUpdateVersion, value); }
}
public static string LatestUpdateVersionDate
{
get { return Settings.AppSettings.GetValueOrDefault(StringConstants.LatestUpdateVersionDate, LatestUpdateVersionDateDefault); }
set { Settings.AppSettings.AddOrUpdateValue(StringConstants.LatestUpdateVersionDate, value); }
}
Настройки - это оболочка к пакету nuget для сохраняющихся вещей (поддерживает проекты Android, iOS, Windows Store (Windows Phone 8.1 и Windows Store 8.1) и WPF):
public static class Settings
{
public static ISettings AppSettings
{
get
{
return CrossSettings.Current;
}
}
}
Теперь моя LanguageViewModel называет это просто так:
var lang = SettingsPreferences.SelectedLanguage;
Чтобы обновить настройку, просто:
SettingsPreferences.SelectedLanguage = "en";
Это может быть что угодно на самом деле.