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);
            }
        }