快捷键实现

This commit is contained in:
艾竹
2023-02-04 16:51:22 +08:00
parent e8f91abd68
commit 285c015e83
3 changed files with 49 additions and 24 deletions

View File

@@ -188,6 +188,7 @@ namespace AIStudio.Wpf.DiagramDesigner
public DesignerCanvas()
{
this.Focusable = true;
this.AllowDrop = true;
Mediator.Instance.Register(this);
@@ -505,7 +506,25 @@ namespace AIStudio.Wpf.DiagramDesigner
{
base.OnPreviewKeyDown(e);
//FFE6E6FA
bool executed = true;
var para = e.KeyboardDevice.Modifiers == ModifierKeys.None ? e.Key.ToString() : e.KeyboardDevice.Modifiers.ToString() + "+" + e.Key.ToString();
switch (para)
{
case "Control+A": _viewModel.SelectAllCommand.Execute(null); break;
case "Control+C": _viewModel.CopyCommand.Execute(null); break;
case "Control+V": _viewModel.PasteCommand.Execute(null); break;
case "Control+X": _viewModel.CutCommand.Execute(null); break;
case "Control+Z": _viewModel.UndoCommand.Execute(null); break;
case "Control+Y": _viewModel.RedoCommand.Execute(null); break;
case "Delete": _viewModel.DeleteCommand.Execute(null); break;
case "Left": _viewModel.LeftMoveCommand.Execute(null); break;
case "Right": _viewModel.RightMoveCommand.Execute(null); break;
case "Up": _viewModel.UpMoveCommand.Execute(null); break;
case "Down": _viewModel.DownMoveCommand.Execute(null); break;
default: executed = false; break;
}
e.Handled = executed;
}
protected override Size MeasureOverride(Size constraint)