public void Attach(ChildEventHandler eventHandler) { ChildEventHandler = eventHandler; Value.CollectionChanged += Value_CollectionChanged; Value.PropertyValueChanging += Value_PropertyValueChanging; Value.PropertyValueChanged += Value_PropertyValueChanged; Value.ChildEventForwarded += Value_ChildEventForwarded; }
protected virtual void FireNextEvent(object e) { ChildEventHandler handler = NextEvent; if (handler != null) { handler(e); } }
protected virtual void FireWaitIconEvent(object e) { ChildEventHandler handler = WaitIconEvent; if (handler != null) { handler(e); } }
#pragma warning restore protected virtual void FireQuitEvent(object e) { //实例化委托事件,并发起调用 ChildEventHandler handler = QuitEvent; if (handler != null) { handler(e); } }
public void Dettach() { if (ChildEventHandler != null) { Value.CollectionChanged -= Value_CollectionChanged; Value.PropertyValueChanging -= Value_PropertyValueChanging; Value.PropertyValueChanged -= Value_PropertyValueChanged; Value.ChildEventForwarded -= Value_ChildEventForwarded; ChildEventHandler = null; } }