2011-08-03 11 views
5

電話機のApplicationSettingsに2つのオブジェクトリストを保存しようとしていますが、私は奇妙な問題に悩まされています(しかし、おそらく私はどこか愚かな間違いをしています)。ApplicationSettingsが正しく保存されない

リストの1つのみを保存すると、想定どおりに動作します。保存して、次回起動時にリロードします。 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"のものをコメントアウトすると、最初のものが完全に保存/取り出されます。

+0

おそらく私はコメントするリストには何の違いもないと付け加えるべきです。まだ1つで成功していますが、2つでは何も保存/取得されません。 –

+0

使用しているSDKのバージョンは何ですか?私はRCでこれを再現するように見えることはできません。 –

+0

追加の間に 'settings.Save()'を追加するとどうなりますか? 2番目のリストのシリアライゼーションが中断し、 'save()'が呼び出されないことがあります。 –

答えて

2

私は以前も同じ問題に直面していましたが、XML serializableであるIsolatedStorageオブジェクトにのみ保存できるという問題がありました。

他のオブジェクトを保存すると、デバッガでも機能しますが、アプリケーションを再起動すると保存されたデータはすべて失われます。

関連する問題