private static void IsEnabledPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) { PaintDotNet.UI.FrameworkElement target = (PaintDotNet.UI.FrameworkElement)sender; if (!((bool)e.NewValue)) { target.RemoveHandler(UIElement.MouseDownEvent, new MouseButtonEventHandler(ClickDragBehavior.OnMouseDown)); target.RemoveHandler(UIElement.MouseMoveEvent, new MouseEventHandler(ClickDragBehavior.OnMouseMove)); target.RemoveHandler(UIElement.MouseUpEvent, new MouseButtonEventHandler(ClickDragBehavior.OnMouseUp)); target.RemoveHandler(UIElement.LostMouseCaptureEvent, new MouseEventHandler(ClickDragBehavior.OnLostMouseCapture)); target.RemoveHandler(UIElement.MouseLeaveEvent, new MouseEventHandler(ClickDragBehavior.OnMouseLeave)); SetIsDragging(target, false); } else { target.AddHandler(UIElement.MouseDownEvent, new MouseButtonEventHandler(ClickDragBehavior.OnMouseDown)); target.AddHandler(UIElement.MouseMoveEvent, new MouseEventHandler(ClickDragBehavior.OnMouseMove)); target.AddHandler(UIElement.MouseUpEvent, new MouseButtonEventHandler(ClickDragBehavior.OnMouseUp)); target.AddHandler(UIElement.LostMouseCaptureEvent, new MouseEventHandler(ClickDragBehavior.OnLostMouseCapture)); target.AddHandler(UIElement.MouseLeaveEvent, new MouseEventHandler(ClickDragBehavior.OnMouseLeave)); } }
public static void RemoveIsPressedChangedHandler(PaintDotNet.UI.FrameworkElement target, RoutedEventHandler handler) { target.RemoveHandler(IsPressedChangedEvent, handler); }