private void UnregisterHandlerInternal(DependencyObject target, RoutedEvent routedEvent) { EventHandlerObjectInfo eh = registeredHandlers.FirstOrDefault(rh => rh.Target == target && rh.Event == routedEvent); if (eh != null) { registeredHandlers.Remove(eh); } }
private void RegisterHandlerInternal(DependencyObject target, RoutedEvent routedEvent, Action <object, RoutedEventArgs> routedEventHandler) { if (Target == null) { return; } if (!registeredEvents.Contains(routedEvent)) { Target.AddHandler(routedEvent, new RoutedEventHandler(LocalEventHandler)); registeredEvents.Add(routedEvent); } EventHandlerObjectInfo eh = registeredHandlers.FirstOrDefault(rh => rh.Target == target && rh.Event == routedEvent); if (eh != null) { return; } eh = new EventHandlerObjectInfo() { Event = routedEvent, Target = target, Handler = routedEventHandler }; registeredHandlers.Add(eh); }