Я работаю с наблюдаемой коллекцией класса Job
, который я определил.Я связал метод для обработки события INotifyCollectionChanged
.MSDN сообщает мне, что INotifyCollectionChanged
является «слушателем динамических изменений, например, когда элементы добавляются и удаляются, или обновляется весь список», но я хотел бы прослушать изменения свойств любого из классов заданий вколлекция, есть обработчик событий для этого?Я понимаю, что есть INotifyPropertyChanged
интерфейс, но я хочу, чтобы это работало с коллекцией.
РЕДАКТИРОВАТЬ:
Я смущен, если честно, поэтому я должен дать дополнительную справочную информацию длячто я делаю, я могу получить ответ.У меня есть это свойство в классе 'Job':
public Boolean IsPlanned
{
get
{
return this.Storage<Job>().isPlanned;
}
set
{
var storage = this.Storage<Job>();
if (storage.isPlanned != value)
{
storage.isPlanned = value;
this.OnPropertyChanged(() => this.isPlanned);
MessageBox.Show("IsPlanned property was changed on one of the jobs " + this.Subject);
}
}
}
Этот класс работы на самом деле наследуется от класса назначений элемента управления telerik (который, как и случается, реализует INotifyPropertyChanged).Из документации Telerik я также получил вышеуказанный код (за исключением окна сообщения).Теперь, когда я изменяю это логическое значение ОДИН РАЗ, эта строка окна сообщения выполняется 5 раз.
Любая помощь приветствуется !!
РЕДАКТИРОВАТЬ 2: Пути, в которых IsPlanned изменился:
PresentationManager.Instance.AllJobs.Single(o => o.JobGuid.Equals(((Job)state.DraggedAppointments.First()).JobGuid)).IsPlanned = true;
PresentationManager.Instance.AllJobs.Single(o => o.JobGuid.Equals(((Job)payload.DraggedAppointments.First()).JobGuid)).IsPlanned = false;
Они оба из разных классов, которые используются для определения переопределений для моего пользовательского поведения перетаскивания (из списка).