记关于使用XamlWriter.Save时如果对象中使用ObservableCollection<T>会报无法序列化泛型类型...

mac2022-06-30  29

FlowDocument类型的对象R中使用的对象A,而对象A中的属性B的类型为ObservedCollection<T>,导致在使用XamlWriter.Save方法时报异常

调用的目标发生了异常。(TargetInvocationException)无法序列化泛型类型“System.Collections.ObjectModel.ObservableCollection`1[A.T]”。(InvalidOperationException)

调试后发现有两种解决方式:

1、给对象A中的属性B加特性[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]

可以让程序在序列化的时候不序列化属性B,但是设置了该特性的属性B在使用XamlWriter.Save的时候就不会保存到对应的值,导致下次查看流文档R的时候属性B的值不会在界面呈现(不适用我当前项目)。

2、新建一个类C,并继承ObservedCollection<T>,并将B的类型改为C,也可以解决无法序列化的问题

转载于:https://www.cnblogs.com/JenReiChau/p/11155243.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)