private static void AddToEventRoute(DependencyObject element, EventRoute route, RadRoutedEventArgs e) { CheckParameters(element, route, e); DependencyObjectType dependencyType = element.GetDependencyObjectType(); if (dependencyType == null) { dependencyType = DependencyObjectType.FromSystemTypeInternal(element.GetType()); element.SetDependencyObjectType(dependencyType); } for (RoutedEventHandlerInfoList list = GlobalEventManager.GetDTypedClassListeners(dependencyType, e.RoutedEvent); list != null; list = list.Next) { for (int i = 0; i < list.Handlers.Length; i++) { route.Add(element, list.Handlers[i].Handler, list.Handlers[i].InvokeHandledEventsToo); } } EventHandlersStore eventHandlersStore = GetEventHandlersStore(element); if (eventHandlersStore != null) { List<RoutedEventHandlerInfo> list2 = eventHandlersStore[e.RoutedEvent]; if (list2 != null) { for (int j = 0; j < list2.Count; j++) { RoutedEventHandlerInfo info = list2[j]; route.Add(element, info.Handler, info.InvokeHandledEventsToo); } } } }