2013-07-23 1 views
0

SimpleMvvmToolkit을 기반으로 ObservableCollection의 viewmodels에 바인딩 된 DevExpress DxGrid가 있습니다. viewmodel에는 자체적으로 노출 된 2 개의 속성 (문자열과 부울)이 있으며 그 밖의 몇 가지 속성은 기본 클래스 (ViewModelDetailBase)에 의해 노출됩니다. 그 중 하나는 viewmodel 뒤에있는 모델입니다.DevExpress 및 SimpleMvvmToolkit - 일련 화 오류

속성 (예 : 부울 값) 중 하나의 내용을 수정하기 위해 격자를 사용할 때마다 "유형 xxx는 일련 화 될 수 없습니다 .."(xxx는 모델 유형) DataContractAttribute를 사용하여 문제를 해결할 것을 제안합니다. 솔루션을 찾는 방법과 위치를 잘 모르겠습니다. 어쩌면 내가 그것에 대해 읽어야하지만 왜 serialization이 필요한가?

어쨌든이 문제에 대해 알려 주시면 감사하겠습니다. 나는 올바른 방향을 찾고있는 몇 가지 조언을 주시면 감사하겠습니다.

편집 : 관련 코드를 게시하기에는 상황이 너무 복잡하기 때문에 오류를 재생산하는 샌드 박스 프로젝트를 만들었습니다. this WeTransfer link을 통해 찾을 수 있습니다.

감사합니다, 나는이 솔루션은 간단한 것을 발견 단순 MVVM 툴킷 사회의 큰 도움을 ~ 롭

답변

0

감사합니다.

단순 MVVM Toolkit에서 뷰 모델은 복제되기 때문에 직렬화가 가능해야합니다. 이는 작업이 취소 될 때 데이터를 쉽게 롤백하는 것입니다. "model"속성에 기본 (매개 변수가없는) 생성자가 없어서 내 viewmodel을 복제 할 수 없었던 이유입니다.

뷰 모델 및 [DataContract] 또는 [DataMember를]와 속성을 장식 할 필요없습니다.

다른 사람들에게 도움이되기를 바랍니다.