Сериализация C# и событие для привязки данных потеряны.

StackOverflow https://stackoverflow.com/questions/122514

  •  02-07-2019
  •  | 
  •  

Вопрос

я уже писал что-то подобное здесь но я хотел бы задать здесь более общий вопрос.

Пытались ли вы сериализовать объект, реализующий INotifyPropertyChanged, вернуть его из сериализации и привязать к DataGridView?Когда я это делаю, у меня нет обновления измененного значения (мне нужно свернуть окна и открыть их обратно).

У вас есть какая-нибудь хитрость?

Это было полезно?

Решение

Использовать DataContractSerializer и создайте метод для OnDeserialized

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

Это позволит вам вызвать событие PropertyChanged после завершения десериализации.

Другие советы

Уловка иметь свое собственное Событие и его привязка после сериализации работает, но не элегантно, потому что требуется другое событие, которого мне не хотелось бы...

Сериализация интерфейсов усложняется, когда вы имеете дело с объектами, имеющими внутренние состояния.Можете ли вы опубликовать пример кода сериализации, о котором вы говорите?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top