private static void MiddleClickCommand_PropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) { var Element = o as FrameworkElement; if (Element == null) { throw new ArgumentException("Type mismatch", "o"); } var Value = (ICommand)e.NewValue; var Listener = GetMiddleClickCommandWeakEventListener(Element); if (Value != null) { if (Listener == null) { Listener = new MiddleClickCommandEventListener(); } SetMiddleClickCommandWeakEventListener(Element, Listener); PreviewMouseDownEventManager.AddListener(Element, Listener); } else if (Listener != null) { SetMiddleClickCommandWeakEventListener(Element, null); PreviewMouseDownEventManager.RemoveListener(Element, Listener); } }
private static void MiddleClickCommand_PropertyChanged(DependencyObject o, DependencyPropertyChangedEventArgs e) { var Element = o as FrameworkElement; if (Element == null) throw new ArgumentException("Type mismatch", "o"); var Value = (ICommand)e.NewValue; var Listener = GetMiddleClickCommandWeakEventListener(Element); if (Value != null) { if (Listener == null) Listener = new MiddleClickCommandEventListener(); SetMiddleClickCommandWeakEventListener(Element, Listener); PreviewMouseDownEventManager.AddListener(Element, Listener); } else if (Listener != null) { SetMiddleClickCommandWeakEventListener(Element, null); PreviewMouseDownEventManager.RemoveListener(Element, Listener); } }