public bool AddHandler(RoutedEvent routedEvent, Delegate handler, bool capturing) { DelayedRemovalList <RoutedEventHandlerInfo> handlerList; if (!_handlers.TryGetValue(routedEvent.Index, out handlerList)) { _handlers.Add(routedEvent.Index, handlerList = new DelayedRemovalList <RoutedEventHandlerInfo>(1)); } foreach (var handlerInfo in handlerList) { if (handlerInfo.Handler == handler) { return(false); } } handlerList.Add(new RoutedEventHandlerInfo(handler, capturing)); return(true); }
public bool AddHandler(RoutedEvent routedEvent, Delegate handler, bool capturing) { DelayedRemovalList<RoutedEventHandlerInfo> handlerList; if (!_handlers.TryGetValue(routedEvent.Index, out handlerList)) _handlers.Add(routedEvent.Index, handlerList = new DelayedRemovalList<RoutedEventHandlerInfo>(1)); foreach (var handlerInfo in handlerList) { if (handlerInfo.Handler == handler) return false; } handlerList.Add(new RoutedEventHandlerInfo(handler, capturing)); return true; }