For most Windows 8 Store applications, data can be largely divided into two categories:
- Application data - settings, files, cache, session state, user lists, etc.
- User data - documents, credentials, photos, music, etc.
This article, Data Saving and Application Lifecycle Management, should help you understand what type of persistence you need. Data can be stored as application parameters in key-value pairs, but can also be saved as application files, which are usually stored in access to files with an isolated file system that applications have.
As a quick example, you should have:
// Reference to Local Application Settings. Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; // Reference to Roaming Application Settings. Windows.Storage.ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings; // Persisting simple Application Settings. localSettings.Values["myOption1"] = myBox1.isChecked; roamingSettings.Values["myOption2"] = myBox2.isChecked; // Reading settings back. var mySavedOption1 = (bool)(localSettings.Values["myOption1"]); var mySavedOption2 = (bool)(roamingSettings.Values["myOption2"]);
Edit
Tested example that works:
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // Reference to Local Application Settings. Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; // Reading settings back. object mySavedOption1; localSettings.Values.TryGetValue("myOption1Key", out mySavedOption1); if (mySavedOption1 != null) myOption1.IsChecked = (bool)mySavedOption1; } private void myOption1_Checked_1(object sender, RoutedEventArgs e) { // Reference to Local Application Settings. Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings; // Persisting simple Application Settings. localSettings.Values["myOption1Key"] = myOption1.IsChecked; }
In xaml: <CheckBox x:Name="myOption1" Grid.Row="1" Checked="myOption1_Checked_1" Unchecked="myOption1_Checked_1"/>
source share