internal static void AddQueryContinueDragHandler(DependencyObject element, CustomQueryContinueDragEventHandler handler, bool handledEventsToo) { if (element == null) { throw new ArgumentNullException("element"); } if (handler == null) { throw new ArgumentNullException("handler"); } CustomExtendedRoutedEventHandlerCollection<CustomQueryContinueDragEventHandler, CustomQueryContinueDragEventArgs> queryContinueDragHandlers = element.GetQueryContinueDragHandlers(); CustomExtendedRoutedEventHandlerCollection<CustomQueryContinueDragEventHandler, CustomQueryContinueDragEventArgs> handlers2 = queryContinueDragHandlers ?? new CustomExtendedRoutedEventHandlerCollection<CustomQueryContinueDragEventHandler, CustomQueryContinueDragEventArgs>((h, a) => h(element, a)); handlers2.Add(handler, handledEventsToo); if (handlers2 != queryContinueDragHandlers) { element.SetValue(QueryContinueDragHandlerProperty, handlers2); } }
internal static void RemoveQueryContinueDragHandler(DependencyObject element, CustomQueryContinueDragEventHandler handler) { if (element == null) { throw new ArgumentNullException("element"); } if (handler == null) { throw new ArgumentNullException("handler"); } CustomExtendedRoutedEventHandlerCollection<CustomQueryContinueDragEventHandler, CustomQueryContinueDragEventArgs> queryContinueDragHandlers = element.GetQueryContinueDragHandlers(); if (queryContinueDragHandlers != null) { queryContinueDragHandlers.Remove(handler); } }
/// <summary> /// Adds a handler to the attached QueryContinueDrag event. /// </summary> /// <param name="element">The DependencyObject to attach an event handler for.</param> /// <param name="handler">The event handler.</param> /// <param name="handledEventsToo">A value Indicating whether to invoke the /// handler if the event has been handled.</param> internal static void AddQueryContinueDragHandler(DependencyObject element, QueryContinueDragEventHandler handler, bool handledEventsToo) { if (element == null) { throw new ArgumentNullException("element"); } if (handler == null) { throw new ArgumentNullException("handler"); } ExtendedRoutedEventHandlerCollection<QueryContinueDragEventHandler, QueryContinueDragEventArgs> originalHandlers = element.GetQueryContinueDragHandlers(); ExtendedRoutedEventHandlerCollection<QueryContinueDragEventHandler, QueryContinueDragEventArgs> handlers = originalHandlers ?? new ExtendedRoutedEventHandlerCollection<QueryContinueDragEventHandler, QueryContinueDragEventArgs>((h, a) => h(element, a)); handlers.Add(handler, handledEventsToo); if (handlers != originalHandlers) { element.SetValue(QueryContinueDragHandlerProperty, handlers); } }