ApplicationSettings не сохраняется должным образом - PullRequest
5 голосов
/ 04 августа 2011

Я пытаюсь сохранить два списка объектов в телефоне 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 Ответ

2 голосов
/ 18 августа 2011

Я столкнулся с той же проблемой некоторое время назад, проблема в том, что вы можете сохранить только те объекты IsolatedStorage, которые являются сериализуемыми XML.

Если вы сохраните другой объект, он будет работать даже с отладчиком, но при перезапуске приложения все сохраненные данные будут потеряны.

...