public void SetMousePosition() { var middleClick = new MouseButtonTrigger(); middleClick.AddTag("temporary"); var setLastPositionCommand = new Command(position => SetPosition(position)).Add(middleClick); setLastPositionCommand.AddTag("temporary"); var moveMouse = new MousePositionTrigger(MouseButton.Left, State.Released); moveMouse.AddTag("temporary"); var checkTransformationCommand = new Command(position => CheckIfCanTransformControl(position)).Add(moveMouse); checkTransformationCommand.AddTag("temporary"); var pressAndMoveMouse = new MousePositionTrigger(MouseButton.Left, State.Pressed); pressAndMoveMouse.AddTag("temporary"); var pressOnControlCommand = new Command(position => TransformSelectedControl(position)).Add(pressAndMoveMouse); pressOnControlCommand.AddTag("temporary"); var pressControl = new KeyTrigger(Key.LeftControl); pressControl.AddTag("temporary"); var multiSelectControl = new Command(() => SetMultiSelection(true)).Add(pressControl); multiSelectControl.AddTag("temporary"); var releaseControl = new KeyTrigger(Key.LeftControl, State.Releasing); releaseControl.AddTag("temporary"); var disableMultiSelectControl = new Command(() => SetMultiSelection(false)).Add(releaseControl); disableMultiSelectControl.AddTag("temporary"); }
private bool CheckWichKeyForKeyTriggerToUse(bool foundFreeKey, Key key, int index) { if (foundFreeKey) return true; bool keyAlreadyUsed = false; foreach (Trigger newTrigger in GetTriggersOfCommand()) keyAlreadyUsed = CheckIfKeyIsAlreadyUsed(newTrigger, key, keyAlreadyUsed); if (keyAlreadyUsed) return false; var keyTrigger = new KeyTrigger(key, State.Pressed); GetTriggersOfCommand()[index] = keyTrigger; return true; }