1

かなりの数のプロパティを持つカスタム クラスがあり、このクラスのインスタンスを作成するときに、後で取得できるように分離ストレージに追加しますが、1 つを保存すると、別のプロパティを保存しようとすると、この例外が発生します:

System.Windows.Media.SolidColorBrushデータ コントラクト名を持つ型SolidColorBrush(http://schemas.datacontract.org/2004/07/System.Windows.Media)は想定されていません。KnownTypeAttribute属性を使用するか、 に渡される既知の型のリストにそれらを追加するなどして、既知の型のリストに静的に認識されていない型を追加しDataContractSerializerます。

私のプロパティの 1 つはブラシですが、最初はこのプロパティをここで設定していないので、2 番目のインスタンスを保存したときにのみ例外が発生するのはなぜですか?

どんな助けでも素晴らしいでしょう:)

4

1 に答える 1

3

( IsolatedStorageSettingsクラスを使用して) 分離ストレージに保存するオブジェクトは、 DataContractSerializerを使用してシリアル化できる必要があります。

SolidColorBrush (およびその問題に関するすべてのブラシ)は、シリアル化可能で市場に出ていないため、ここで問題になります!

これを解決するには、(実際の Brush オブジェクトではなく) ブラシの色を保存し、それを取得して新しい SolicColorBrush オブジェクトを作成することをお勧めします。

于 2012-04-22T11:58:54.690 に答える