我在保存应用设置时遇到问题?我创建了Windows 10通用应用程序,我有Slider,我想保存它的价值.
我使用此代码来保存它:
private void musicVolume_ValueChanged(object sender, RangeBaseValueChangedEventArgs e) { ApplicationDataContainer AppSettings = ApplicationData.Current.LocalSettings; AppSettings.Values["musicV"] = musicVolume.Value; }
在页面的constuctor中我有这行代码:
ApplicationDataContainer AppSettings = ApplicationData.Current.LocalSettings; if (AppSettings.Values.ContainsKey("musicV")) { musicVolume.Value = Convert.ToDouble(AppSettings.Values["musicV"]); }
它应该在我去那个页面时显示新的价值,但它没有,它总是显示最后一个默认值.为什么它不工作以及如何使其工作?
PS:抱歉我的英语不好......
而不是在构造函数中,musicVolume.Value
通过在构造函数中订阅Page Loaded事件来加载Page之后进行初始化.在加载事件是适当的地方做这样的初始化.
例如,在构造函数中添加:
Loaded += Page_Loaded;
而你的Loaded事件处理程序如下:
private void Page_Loaded(object sender, RoutedEventArgs e) { ApplicationDataContainer AppSettings = ApplicationData.Current.LocalSettings; if (AppSettings.Values.ContainsKey("musicV")) { musicVolume.Value = (double)AppSettings.Values["musicV"]; } }