IsolatedStorageSettings:
public Brush BackgroundBrush { set; get; }
void LoadSettings() { IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; Color clr; if (settings.TryGetValue<Color>("backgroundColor", out clr)) BackgroundBrush = new SolidColorBrush(clr); } void SaveSettings() { IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; if (BackgroundBrush is SolidColorBrush) { settings["backgroundColor"] = (BackgroundBrush as SolidColorBrush).Color; settings.Save(); } }
XNA独立储存:
public class Settings { const string filename = "settings.xml"; // Application settings public Color BackgroundColor { set; get; } public Settings() { BackgroundColor = Color.Navy; } public void Save() { IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream stream = storage.CreateFile(filename); XmlSerializer xml = new XmlSerializer(GetType()); xml.Serialize(stream, this); stream.Close(); stream.Dispose(); } public static Settings Load() { IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication(); Settings settings; if (storage.FileExists(filename)) { IsolatedStorageFileStream stream = storage.OpenFile("settings.xml", FileMode.Open); XmlSerializer xml = new XmlSerializer(typeof(Settings)); settings = xml.Deserialize(stream) as Settings; stream.Close(); stream.Dispose(); } else { settings = new Settings(); } return settings; } }
PhoneApplicationService appService = PhoneApplicationService.Current; appService.Launching += OnAppServiceLaunching; appService.Activated += OnAppServiceActivated; appService.Deactivated += OnAppServiceDeactivated; appService.Closing += OnAppServiceClosing; void OnAppServiceLaunching(object sender, LaunchingEventArgs args) { settings = Settings.Load(); } void OnAppServiceActivated(object sender, ActivatedEventArgs args) { settings = Settings.Load(); } void OnAppServiceDeactivated(object sender, DeactivatedEventArgs args) { settings.Save(); } void OnAppServiceClosing(object sender, ClosingEventArgs args) { settings.Save(); }