/// <summary> /// Binds the eventhandler to item.ElementRemoved if item implements INotifyElementRemoved /// </summary> /// <param name="item">The item.</param> private void BindToNotifyElementRemoved(T item) { INotifyAsRemoved itemAsINotifyElementRemoved = item as INotifyAsRemoved; if (itemAsINotifyElementRemoved != null) { itemAsINotifyElementRemoved.HasBeenRemoved += new EventHandler(element_ElementRemoved); } }
/// <summary> /// Unbinds the eventhandler from item.ElementRemoved if item implements INotifyElementRemoved /// </summary> /// <param name="item">The item.</param> private void UnbindFromNotifyElementRemoved(T item) { INotifyAsRemoved itemAsINotifyElementRemoved = item as INotifyAsRemoved; if (itemAsINotifyElementRemoved != null) { itemAsINotifyElementRemoved.HasBeenRemoved -= element_ElementRemoved; } }
/// <summary> /// Binds to the ElementRemoved event /// </summary> public void BindToElementRemoved() { if (!_elementRemovedBound) { INotifyAsRemoved removeAwareValue = _memberValue as INotifyAsRemoved; if (removeAwareValue != null) { removeAwareValue.HasBeenRemoved += new EventHandler(_memberValue_ElementRemoved); _elementRemovedBound = true; } } }
/// <summary> /// Unbinds from the ElementRemoved event /// </summary> public void UnbindFromElementRemoved() { if (_elementRemovedBound) { INotifyAsRemoved removeAwareValue = _memberValue as INotifyAsRemoved; if (removeAwareValue != null) { removeAwareValue.HasBeenRemoved -= new EventHandler(_memberValue_ElementRemoved); _elementRemovedBound = false; } } }
/// <summary> /// Binds to the ElementRemoved event /// </summary> public void BindToElementRemoved() { if (!_elementRemovedBound) { INotifyAsRemoved removeAwareValue = _memberValue as INotifyAsRemoved; if (removeAwareValue != null) { removeAwareValue.HasBeenRemoved += _sharedValueRemovedHandler; _elementRemovedBound = true; } } }
/// <summary> /// Binds to the ElementRemoved event /// </summary> public void BindToElementRemoved() { if (!_elementRemovedBound && typeof(INotifyAsRemoved).IsAssignableFrom(typeof(TValue))) { INotifyAsRemoved removeAwareValue = (INotifyAsRemoved)_memberValue; if (removeAwareValue != null) { removeAwareValue.HasBeenRemoved += this.SharedValueRemovedHandler; _elementRemovedBound = true; } } }