簡體   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