2

アプリにキー値のIsolatedStorageがあり、4つの変数が含まれています.2つのdouble、1つのbool、および1つのクラスオブジェクトのObservableCollectionです。ObservableCollection を設定に設定し、このように保存すると

settings["PlaceMarks"] = PlaceMarks;

bool varを上書きし、次の起動時に「キーが見つかりません」という例外が発生しました

この設定に文字列や数値などを書き込むと

settings["PlaceMarks"] = "string";

大丈夫。私のコレクションには、単純なクラスのインスタンスが 3 つしかありません。では、なぜ私の価値が消えるのかという質問がありますか? 私が知らなかったIsolatedStorageSettingsのいくつかの制限かもしれません

4

2 に答える 2

3

Observable Collection にあるクラスを Serializeable としてマークしましたか?

ObservableCollection 自体はシリアライズ可能としてマークされていません。 http://msdn.microsoft.com/en-us/library/ms668604(v=vs.95).aspx

代わりにリストを使用することをお勧めします

于 2012-04-20T11:23:35.387 に答える
1

IsolatedStorageSettings に保存できるのは、シリアライズ可能なオブジェクト (ObservableCollection の場合を除く) のみです。

オブジェクトは、IsolatedStorageSettings を保存する前に、 DataContractSerializerを使用してシリアル化されます。

https://stackoverflow.com/a/7417049/358596

于 2012-04-20T11:34:18.573 に答える