ApplicationSettings未正确保存

时间:2011-08-03 20:05:29

标签: c# silverlight windows-phone-7 application-settings

我正在尝试在手机ApplicationSettings中保存两个对象列表,但我遇到了一个奇怪的问题(但可能是我在某个地方犯了一个愚蠢的错误)。

如果我只保存其中一个列表,它可以正常运行 - 它将保存它,并在下次启动应用程序时重新加载它。 但是,如果我尝试保存2个列表,它们似乎都没有正确保存。没有错误或任何东西,只是“空白”。

见下面的代码。

//My save method
public void Gem()
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;

            if (settings.Contains(INDTASTNINGER_LIST))
            {
                settings[INDTASTNINGER_LIST] = _indtastningsListe;
            }
            else
                settings.Add(INDTASTNINGER_LIST, _indtastningsListe);

            if (settings.Contains(INDTASTNINGER_LIST2))
            {
                settings[INDTASTNINGER_LIST2] = _indtastningsListe2;
            }
            else
                settings.Add(INDTASTNINGER_LIST2, _indtastningsListe2);
            settings.Save();
        }

        //Constructor supposed to load settings
        public Indtastninger()
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;

            if (settings.Contains(INDTASTNINGER_LIST))
            {
                _indtastningsListe = null;
                _indtastningsListe = (List<Indtastning>)settings[INDTASTNINGER_LIST];
            }
            if (settings.Contains(INDTASTNINGER_LIST2))
            {
                _indtastningsListe2 = null;
                _indtastningsListe2 = (List<Indtastning>)settings[INDTASTNINGER_LIST2];
            }
        }

我做错了什么? 如果我用“list2”注释掉部分,第一个将被完美地保存/检索。

1 个答案:

答案 0 :(得分:2)

前段时间我遇到过同样的问题,问题是你只能保存XML序列化的IsolatedStorage对象。

如果您保存其他对象,它甚至可以使用调试器,但是当重新启动应用程序时,所有保存的数据都将丢失。