2011-10-13 27 views
0

之間有條件檢查複選框,我目前在我的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"); 
} 

我對我的MainPage,我想有找到位置之前檢查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(); 
} 

} 

任何建議或者能夠幫助我的鏈接會很棒。

感謝,

+0

使用IsolatedStorageSettings如果你想堅持在您的應用程序的調用設置。否則,將它作爲應用程序類中的全局變量。 –

回答

2

使用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"]; 
} 
+0

再次感謝您的幫助。 – Rhys

+0

我收到一個錯誤'allowLocation = settings [「allowLocation」];'message不能將對象隱式轉換爲bool。有什麼建議麼? – Rhys

+0

@Rhys哎呀,忘了施放閱讀值,對不起。更新了答案。 – Praetorian

相關問題