我在使用MVVM模式的windows phone 8应用程序中工作。当我的应用程序暂停时,我需要保留页面状态。所以我使用状态字典来存储我的viewmodel工作正常,但是当我尝试使用参数智能构造函数存储viewmodel时会发生以下错误。
无法序列化“ViewModel”类型。请考虑使用DataContractAttribute属性对其进行标记,并使用DataMemberAttribute属性标记要序列化的所有成员。或者,您可以确保该类型是公共的并且具有无参数构造函数 - 然后将序列化该类型的所有公共成员,并且不需要任何属性。
答案 0 :(得分:0)
如果将对象传递给State
字典,它将使用[Xml] DataContractSerializer序列化,并且需要一个公共的无参数构造函数。
如果你不能或不愿意添加这样的构造函数,那么你需要自己处理对象的序列化和反序列化,并将序列化数据(字符串)添加到字典中。