C# 隔离WP7中的存储问题

C# 隔离WP7中的存储问题,c#,windows-phone-7,c#-4.0,wpf-controls,C#,Windows Phone 7,C# 4.0,Wpf Controls,我面临的问题是关于wp7中的以下问题 无法在C#中序列化“Type”System.Windows.Media.Transform“ 当我调用下面的方法将列表数据保存到独立存储时 SerializeHelper.SaveSetting(“myfile.Xml”,swaplist) 然后我得到了一个例外 public static class SerializeHelper { public static void SaveSetting<T>(string fi

我面临的问题是关于wp7中的以下问题

无法在C#中序列化“Type”System.Windows.Media.Transform“

当我调用下面的方法将列表数据保存到独立存储时

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;
                }
            }
        }

    }
公共静态类序列化帮助器
{
公共静态void保存设置(字符串文件名,T dataToSave)
{
使用(var store=IsolatedStorageFile.GetUserStoreForApplication())
{
尝试
{
使用(var stream=store.CreateFile(文件名))
{
var serializer=新的DataContractSerializer(typeof(T));
serializer.WriteObject(流,dataToSave);
}
}
捕获(例外e)
{
MessageBox.Show(e.Message);
返回;
}
}
}
}
我附上了列表数据结构的截图


如何解决此问题?

感谢您添加屏幕截图。。。粘贴一些代码。我看不出有什么不对劲

您是否只公开公共基元/可序列化类型?我以前用过类似的东西来序列化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();
        }

    }
}
publicstaticvoidsaveobjecttostorage(T ObjectToSave)
{
文本作者;
使用(IsolatedStorageFile isf=IsolatedStorageFile.GetUserStoreForApplication())
{
使用(IsolatedStorageFileStream fs=isf.OpenFile(GetFileName(),System.IO.FileMode.Create))
{
writer=新的StreamWriter(fs);
XmlSerializer ser=新的XmlSerializer(typeof(T));
serial.Serialize(writer,ObjectToSave);
writer.Close();
}
}
}

此错误表示您正试图序列化某些不可序列化的对象。也许是纯色刷子?您可以通过编写自己的序列化程序来序列化不是整个对象,而是只序列化要对其进行序列化的属性,从而解决此问题。也许你应该向代码givig显示此错误。我没有序列化任何SolidColorBrush对象?因此,向我们显示你的代码,这样我们就可以知道你正在序列化什么:)我添加了屏幕截图,它显示了将数据保存到隔离存储的过程。屏幕截图或代码不在那里。。不要投反对票在提交附加信息之前,您没有看到问题。视图模型的所有属性是否仅公开基本类型?我看不出代码有什么问题。。我过去曾为此使用过XmlSerializer。不,不是所有基元类型的属性都是派生的type@MuditBajpai那么,您确定所有这些派生类型都是可序列化的吗?还要在类上设置serializable属性