コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 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;
 }
コード例 #4
0
 private static bool HasMouseCommand(UIElement element)
 {
     return(MouseCommands.GetMouseCommand(element) != null || MouseCommands.GetControlMouseCommand(element) != null || MouseCommands.GetShiftMouseCommand(element) != null);
 }
コード例 #5
0
 private static void OnMouseCommandChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
 {
     MouseCommands.RefreshMouseBinding((UIElement)obj);
 }