Проблема такая: необходимо изменять значения в коллекции при изменении хотя бы одного из полей в объекте. Если ближе к самой идеи кода, то при изменении длины одного из участков трубы, нужно пересчитать другие.
Архитектура в коде такая: родительский абстрактный класс
public abstract class AbstractTube
от которого наследуется класс
public class TubingStage : AbstractTube
и создается лист из труб
public class CollectionTubingStage : ObservableCollection<TubingStage>, INotifyPropertyChanged
{
}
Есть обработчик события и само событие в классе TubingStage:
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
И код свойства в том же классе
public override double Lenght
{
get
{ return TLenght; }
set
{
TLenght = value;
NeedAutoAlign = true;
NotifyPropertyChanged("Lenght of stage has been changed!");
}
}
Как мне правильно воспользоваться
INotifyPropertyChanged
для этого? Не понятно как из экземпляра коллекции получить доступ к самой коллекции, для ее модификации.