C#序列化和数据绑定事件丢失
时间:2020-03-06 14:36:49 来源:igfitidea点击:
我已经在这里发布了类似的内容,但是我想在这里提出更普遍的问题。
我们是否尝试过序列化实现INotifyPropertyChanged的对象,并使其从序列中取回并将其绑定到DataGridView?当我这样做时,我无法从更改的值中刷新(我需要最小化窗口并将其重新打开)。
你有什么把戏吗?
解决方案
拥有自己的Event并在序列化后绑定它的技巧有效,但并不优雅,因为需要另一个我不想拥有的事件...
当我们处理具有内部状态的对象时,序列化接口会很棘手。我们可以张贴我们正在谈论的序列化代码的示例吗?
使用DataContractSerializer
并为OnDeserialized创建一个方法
[OnDeserialized] private void OnDeserialized(StreamingContext c) {}
反序列化完成后,这将使我们引发PropertyChanged事件