当前位置:  开发笔记 > 编程语言 > 正文

如何保存我的应用设置?

如何解决《如何保存我的应用设置?》经验,为你挑选了1个好方法。

我在保存应用设置时遇到问题?我创建了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:抱歉我的英语不好......



1> user5525674..:

而不是在构造函数中,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"];
    }
}


在Loaded事件处理程序中,您知道控件元素(在您的情况下具有名称musicVolume)已正确初始化.更多信息[这里](https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.frameworkelement.loaded).
推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有