Если флажок установлен условно между страницами - PullRequest
0 голосов
/ 13 октября 2011

У меня в настоящее время есть флажок под моей страницей settings.xaml, который пользователи должны щелкнуть, чтобы разрешить службы определения местоположения.

private void cbLocationAllow_Checked(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Location Services is now enabled");
}

private void cbLocationAllow_Unchecked(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Location Services is now disabled");
}

У меня есть карта привязки местоположения на моей главной странице, которую я хотел быЯ должен проверить состояние флажка в settings.xaml перед тем, как найти местоположение.

Я предполагаю, что это будет условие, если нет, но я не совсем уверен, как реализовать это, так как флажок находится на другой странице.

Мне был предложен следующий код, но я получаю ошибки на

Settings.SetSetting("allowLocation",true);

На странице настроек:

cbLocationAllowChecked(...)
{
Settings.SetSetting("allowLocation",true);
}

cbLocationAllowUnchecked(...)
{
Settings.SetSetting("allowLocation,false);
}

На главной странице как условный

MapButtonClicked(...)
{
if (!Settings.HasSetting("allowLocation") || !((bool)Settings.GetSetting("allowLocation"))
        MessageBox.Show("Allow app to use your location?, "Location Services",MessageBoxButtons.OkCancel);
//handle result
else{

StartLocationSearch();
}

}

Любые предложения или ссылки, которые могут мне помочь, были бы великолепны.

Спасибо,

1 Ответ

2 голосов
/ 14 октября 2011

Используйте класс IsolatedStorageSettings для сохранения настроек.

Для сохранения настройки

private void cbLocationAllow_Checked(object sender, RoutedEventArgs e)
{
  var settings = IsolatedStorageSettings.ApplicationSettings;

  settings["allowLocation"] = true;
  settings.Save();
}

Чтобы прочитать настройку

var settings = IsolatedStorageSettings.ApplicationSettings;
bool allowLocation = false;

if( settings.Contains( "allowLocation" ) ) {
  allowLocation = (bool)settings["allowLocation"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...