0

私はMVVMパターンを使用してWindows Phone 8アプリケーションで作業しています。アプリが中断するときに、ページの状態を保持する必要があります。そのため、ステート ディクショナリを使用してビューモデルを保存していますが、ビューモデルをパラメーターごとのコンストラクターで保存しようとすると、次のエラーが発生します。

タイプ 'ViewModel' をシリアル化できません。これを DataContractAttribute 属性でマークし、シリアル化するすべてのメンバーを DataMemberAttribute 属性でマークすることを検討してください。または、型がパブリックであり、パラメーターなしのコンストラクターがあることを確認できます。これにより、型のすべてのパブリック メンバーがシリアル化され、属性は不要になります。

4

1 に答える 1

0

オブジェクトをStateディクショナリに渡すと、[Xml]DataContractSerializer でシリアル化され、パブリックのパラメーターなしのコンストラクターが必要になります。

そのようなコンストラクターを追加できない、または追加したくない場合は、オブジェクトのシリアル化と逆シリアル化を自分で処理し、代わりにシリアル化されたデータ (文字列) を辞書に追加する必要があります。

于 2013-10-03T12:14:46.373 に答える