C# のシリアル化とデータ バインディングのイベントが失われる
-
02-07-2019 - |
質問
似たようなことをすでに投稿しました ここ しかし、ここではより一般的な質問をしたいと思います。
INotifyPropertyChanged を実装するオブジェクトをシリアル化し、シリアル化から戻して DataGridView にバインドしようとしましたか?これを実行すると、変更された値から更新されません(ウィンドウを最小化して再度開く必要があります)。
何かコツはありますか?
解決
使用 DataContractSerializer
OnDeserialized のメソッドを作成します
[OnDeserialized]
private void OnDeserialized(StreamingContext c) {}
これにより、逆シリアル化が完了したときに PropertyChanged イベントを発生させることができます
他のヒント
自分のものを持つコツ シリアル化後のイベントとバインド 機能しますが、私が望んでいない他のイベントが必要なため、エレガントではありません...
内部状態を持つオブジェクトを扱う場合、インターフェイスのシリアル化は難しくなります。あなたが話しているシリアル化コードの例を投稿してもらえますか?
所属していません StackOverflow