internal static void AddGiveFeedbackHandler(DependencyObject element, CustomGiveFeedbackEventHandler handler, bool handledEventsToo) { if (element == null) { throw new ArgumentNullException("element"); } if (handler == null) { throw new ArgumentNullException("handler"); } CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs> giveFeedbackHandlers = element.GetGiveFeedbackHandlers(); CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs> handlers2 = giveFeedbackHandlers ?? new CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs>((h, a) => h(element, a)); handlers2.Add(handler, handledEventsToo); if (handlers2 != giveFeedbackHandlers) { element.SetValue(GiveFeedbackHandlerProperty, handlers2); } }
internal static void RemoveGiveFeedbackHandler(DependencyObject element, CustomGiveFeedbackEventHandler handler) { if (element == null) { throw new ArgumentNullException("element"); } if (handler == null) { throw new ArgumentNullException("handler"); } CustomExtendedRoutedEventHandlerCollection<CustomGiveFeedbackEventHandler, CustomGiveFeedbackEventArgs> giveFeedbackHandlers = element.GetGiveFeedbackHandlers(); if (giveFeedbackHandlers != null) { giveFeedbackHandlers.Remove(handler); } }
/// <summary> /// Adds a handler to the attached GiveFeedback 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 AddGiveFeedbackHandler(DependencyObject element, GiveFeedbackEventHandler handler, bool handledEventsToo) { if (element == null) { throw new ArgumentNullException("element"); } if (handler == null) { throw new ArgumentNullException("handler"); } ExtendedRoutedEventHandlerCollection<GiveFeedbackEventHandler, GiveFeedbackEventArgs> originalHandlers = element.GetGiveFeedbackHandlers(); ExtendedRoutedEventHandlerCollection<GiveFeedbackEventHandler, GiveFeedbackEventArgs> handlers = originalHandlers ?? new ExtendedRoutedEventHandlerCollection<GiveFeedbackEventHandler, GiveFeedbackEventArgs>((h, a) => h(element, a)); handlers.Add(handler, handledEventsToo); if (handlers != originalHandlers) { element.SetValue(GiveFeedbackHandlerProperty, handlers); } }