private static void AddMouseBindings(UIElement element) { MouseAction mouseCommandAction = MouseCommands.GetMouseCommandAction(element); MouseBinding mouseBinding1 = new MouseBinding(); mouseBinding1.Gesture = (InputGesture) new MouseGesture(mouseCommandAction, ModifierKeys.None); mouseBinding1.Command = (ICommand)MouseCommands.KeyboardModifierChain.Instance; mouseBinding1.CommandParameter = (object)element; MouseBinding mouseBinding2 = mouseBinding1; element.InputBindings.Add((InputBinding)mouseBinding2); MouseBinding mouseBinding3 = new MouseBinding(); mouseBinding3.Gesture = (InputGesture) new MouseGesture(mouseCommandAction, ModifierKeys.Control); mouseBinding3.Command = (ICommand)MouseCommands.KeyboardModifierChain.Instance; mouseBinding3.CommandParameter = (object)element; MouseBinding mouseBinding4 = mouseBinding3; element.InputBindings.Add((InputBinding)mouseBinding4); MouseBinding mouseBinding5 = new MouseBinding(); mouseBinding5.Gesture = (InputGesture) new MouseGesture(mouseCommandAction, ModifierKeys.Shift); mouseBinding5.Command = (ICommand)MouseCommands.KeyboardModifierChain.Instance; mouseBinding5.CommandParameter = (object)element; MouseBinding mouseBinding6 = mouseBinding5; element.InputBindings.Add((InputBinding)mouseBinding6); }
private static void RefreshMouseBinding(UIElement element) { if (!MouseCommands.HasMouseCommand(element)) { return; } bool flag = false; foreach (InputBinding inputBinding in element.InputBindings) { MouseBinding mouseBinding = inputBinding as MouseBinding; if (mouseBinding != null) { MouseCommands.UpdateMouseBinding(element, mouseBinding); flag = true; } } if (flag) { return; } MouseCommands.AddMouseBindings(element); }
private static void UpdateMouseBinding(UIElement element, MouseBinding mouseBinding) { ((MouseGesture)mouseBinding.Gesture).MouseAction = MouseCommands.GetMouseCommandAction(element); mouseBinding.Command = (ICommand)MouseCommands.KeyboardModifierChain.Instance; mouseBinding.CommandParameter = (object)element; }
private static bool HasMouseCommand(UIElement element) { return(MouseCommands.GetMouseCommand(element) != null || MouseCommands.GetControlMouseCommand(element) != null || MouseCommands.GetShiftMouseCommand(element) != null); }
private static void OnMouseCommandChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args) { MouseCommands.RefreshMouseBinding((UIElement)obj); }