繁体   English   中英

DevExpress和SimpleMvvmToolkit-序列化错误

[英]DevExpress and SimpleMvvmToolkit - Serialization error

我有一个绑定到Viewmodel的ObservableCollection的DevExpress DxGrid(基于SimpleMvvmToolkit)。 viewmodel具有2个自身的属性(一个字符串和一个布尔值),其他一些属性由其基类(ViewModelDetailBase)公开,其中之一是viewmodel背后的模型。

每次我使用网格修改属性之一的内容(例如布尔值)时,都会收到一条错误消息,提示“无法序列化xxx类型。”(xxx是模型的类型),然后提示使用DataContractAttribute规避问题。 我不确定如何以及在哪里寻找解决方案。 也许我应该阅读它,但是为什么这里需要序列化?

无论如何,我希望您能对此有所了解。 我希望能得到一些指导,以使我朝正确的方向看。

编辑:由于情况太复杂,无法在此处发布相关代码,所以我制作了一个沙盒项目来重现该错误。 您可以通过WeTransfer链接找到它。

最好的问候,〜罗布

在Simple MVVM Toolkit社区的大力帮助下,我发现该解决方案非常简单。

在Simple MVVM Toolkit中,因为要克隆视图模型,所以它必须可序列化。 这是为了在取消操作时轻松回滚数据。 无法克隆我的viewmodel的原因是,它的“ model”属性缺少默认的(无参数)构造函数。

无需使用[DataContract][DataMember]装饰viewmodel及其属性。

我希望这对其他人有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM