Question

J'ai déjà posté quelque chose de similaire ici , mais j'aimerais poser la question. plus générale ici.

Avez-vous essayé de sérialiser un objet qui implémentait INotifyPropertyChanged et de le récupérer à partir de la sérialisation et de le lier à un DataGridView? Quand je le fais, je n'ai pas d'actualisation à partir de la valeur qui change (je dois minimiser les fenêtres et les rouvrir).

Avez-vous un truc?

Était-ce utile?

La solution

Utilisez DataContractSerializer et créez une méthode pour OnDeserialized

.
[OnDeserialized]
private void OnDeserialized(StreamingContext c) {}

Cela vous permettra de déclencher l'événement PropertyChanged une fois la désérialisation terminée

Autres conseils

L'astuce d'avoir son propre événement et de le lier après la sérialisation fonctionne mais ce n’est pas élégant car il faut un autre événement que je n’aimerais pas ...

La sérialisation des interfaces devient difficile lorsque vous traitez avec des objets ayant des états internes. Pouvez-vous poster un exemple du code de sérialisation dont vous parlez?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top