Serialization 如何在windows phone 7中停用和激活应用程序时序列化和反序列化类对象?

Serialization 如何在windows phone 7中停用和激活应用程序时序列化和反序列化类对象?,serialization,windows-phone-7,Serialization,Windows Phone 7,我想在停用时保存应用程序的状态,因为我的应用程序在停用应用程序后激活应用程序时会崩溃,在停用过程中,某些对象的值不会在逻辑删除过程中保存。所以我提出了一个解决方案,在停用时序列化对象,并在激活时反序列化它们。我看了这篇文章 在序列化文件时,它会给出一个异常InvalidDataContractException,显示以下消息: “Type”系统。Windows .UILINE不能序列化。请考虑用DATACONTractAttor属性标记它,并标记要用DATAMEMBAREATION属性序列化的所

我想在停用时保存应用程序的状态,因为我的应用程序在停用应用程序后激活应用程序时会崩溃,在停用过程中,某些对象的值不会在逻辑删除过程中保存。所以我提出了一个解决方案,在停用时序列化对象,并在激活时反序列化它们。我看了这篇文章

在序列化文件时,它会给出一个异常InvalidDataContractException,显示以下消息:

“Type”系统。Windows .UILINE不能序列化。请考虑用DATACONTractAttor属性标记它,并标记要用DATAMEMBAREATION属性序列化的所有成员。“


我要保存的类对象还有一些PhoneApplicationPage和Usercontrols对象。那么我该如何解决这个问题呢?

你不能序列化任何任意的C#对象类型,尤其是不能序列化任何Silverlight UI对象——这是出于设计。实际上,您应该只序列化构建UI所依赖的实际数据,然后在创建页面或导航到(*)时根据需要检索这些数据

链接示例的DataContract中不包含任何UIElements,只包含可序列化的字符串

(*)该教程的第2部分实际上是以这种方式加载数据