WP7中的IsolateStorage问题

时间:2013-03-06 07:13:27

标签: c# windows-phone-7 c#-4.0 wpf-controls

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

    }

我附上了列表数据enter image description here

结构的屏幕截图

如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

感谢您添加屏幕截图...并粘贴一些代码。真的看不出任何错误。

VM是否只公开public primitive / serialisable类型?我过去曾使用过这样的东西来序列化到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();
        }

    }
}