//-------------------------------------------------------------------------------------------------- public void RemoveDependent(IShapeDependent dependent) { var index = _Dependents.FindIndex(wr => wr.TryGetTarget(out var target) && ReferenceEquals(target, dependent)); if (index >= 0) { _Dependents.RemoveAt(index); } }
//-------------------------------------------------------------------------------------------------- void IShapeOperand.RemoveDependent(IShapeDependent dependent) { Body?.RemoveDependent(dependent); }
//-------------------------------------------------------------------------------------------------- public void AddDependent(IShapeDependent dependent) { _Dependents.Add(new WeakReference <IShapeDependent>(dependent)); RaisePropertyChanged("Dependents"); }
//-------------------------------------------------------------------------------------------------- void IShapeOperand.AddDependent(IShapeDependent dependent) { Body?.AddDependent(dependent); }