1

wp7で次の問題に関する問題に直面しています

「タイプ 'System.Windows.Media.Transform' は C# でシリアル化できません」

以下のメソッドを呼び出して、リスト データを分離ストレージに保存すると

SerializeHelper.SaveSetting("myfile.Xml",swaplist);

その後、私は例外を取得しています。

public static class SerializeHelper
    {
        public static void SaveSetting<T>(string fileName, T dataToSave)
        {
            using (var store = IsolatedStorageFile.GetUserStoreForApplication())
            {
                try
                {
                    using (var stream = store.CreateFile(fileName))
                    {
                        var serializer = new DataContractSerializer(typeof(T));
                        serializer.WriteObject(stream, dataToSave);
                    }
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                    return;
                }
            }
        }

    }

リストデータの構造のスクリーンショットを添付していますここに画像の説明を入力

これを解決するには?

4

1 に答える 1

-1

スクリーンショットを追加していただき、ありがとうございます...コードを貼り付けてください。本当に何も問題がありません。

VM はパブリック プリミティブ/シリアル化可能な型のみを公開していますか? 私は過去にこのようなものを使ってisoストアにシリアライズしました。

public static void SaveObjectToStorage<T>(T ObjectToSave)
{
    TextWriter writer;

    using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
    {
        using (IsolatedStorageFileStream fs = isf.OpenFile(GetFileName<T>(), System.IO.FileMode.Create))
        {
            writer = new StreamWriter(fs);
            XmlSerializer ser = new XmlSerializer(typeof(T));
            ser.Serialize(writer, ObjectToSave);
            writer.Close();
        }

    }
}
于 2013-03-06T09:55:52.217 に答える