mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-05-04 23:10:25 +08:00
快捷键实现
This commit is contained in:
@@ -106,6 +106,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo
|
|||||||
new MenuItemViewModel(){Title = "PathAnimation"},
|
new MenuItemViewModel(){Title = "PathAnimation"},
|
||||||
new MenuItemViewModel(){Title = "LineAnimation"},
|
new MenuItemViewModel(){Title = "LineAnimation"},
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
new MenuItemViewModel(){Title = "Editor",
|
||||||
|
Children=new List<MenuItemViewModel>
|
||||||
|
{
|
||||||
|
new MenuItemViewModel(){Title = "FlowchartEditor"},
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
treeview.ItemsSource = _menus;
|
treeview.ItemsSource = _menus;
|
||||||
|
|||||||
@@ -188,6 +188,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
|
|
||||||
public DesignerCanvas()
|
public DesignerCanvas()
|
||||||
{
|
{
|
||||||
|
this.Focusable = true;
|
||||||
this.AllowDrop = true;
|
this.AllowDrop = true;
|
||||||
Mediator.Instance.Register(this);
|
Mediator.Instance.Register(this);
|
||||||
|
|
||||||
@@ -505,7 +506,25 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
{
|
{
|
||||||
base.OnPreviewKeyDown(e);
|
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)
|
protected override Size MeasureOverride(Size constraint)
|
||||||
|
|||||||
@@ -249,30 +249,30 @@ namespace AIStudio.Wpf.Flowchart.Controls
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
protected override void OnPreviewKeyDown(KeyEventArgs e)
|
//protected override void OnPreviewKeyDown(KeyEventArgs e)
|
||||||
{
|
//{
|
||||||
base.OnPreviewKeyDown(e);
|
// base.OnPreviewKeyDown(e);
|
||||||
|
|
||||||
bool executed = true;
|
// bool executed = true;
|
||||||
var para = e.KeyboardDevice.Modifiers == ModifierKeys.None ? e.Key.ToString() : e.KeyboardDevice.Modifiers.ToString() + "+" + e.Key.ToString();
|
// var para = e.KeyboardDevice.Modifiers == ModifierKeys.None ? e.Key.ToString() : e.KeyboardDevice.Modifiers.ToString() + "+" + e.Key.ToString();
|
||||||
|
|
||||||
switch (para)
|
// switch (para)
|
||||||
{
|
// {
|
||||||
case "Control+A": _diagramViewModel.SelectAllCommand.Execute(null); break;
|
// case "Control+A": _diagramViewModel.SelectAllCommand.Execute(null); break;
|
||||||
case "Control+C": _diagramViewModel.CopyCommand.Execute(null); break;
|
// case "Control+C": _diagramViewModel.CopyCommand.Execute(null); break;
|
||||||
case "Control+V": _diagramViewModel.PasteCommand.Execute(null); break;
|
// case "Control+V": _diagramViewModel.PasteCommand.Execute(null); break;
|
||||||
case "Control+X": _diagramViewModel.CutCommand.Execute(null); break;
|
// case "Control+X": _diagramViewModel.CutCommand.Execute(null); break;
|
||||||
case "Control+Z": _diagramViewModel.UndoCommand.Execute(null); break;
|
// case "Control+Z": _diagramViewModel.UndoCommand.Execute(null); break;
|
||||||
case "Control+Y": _diagramViewModel.RedoCommand.Execute(null); break;
|
// case "Control+Y": _diagramViewModel.RedoCommand.Execute(null); break;
|
||||||
case "Delete": _diagramViewModel.DeleteCommand.Execute(null); break;
|
// case "Delete": _diagramViewModel.DeleteCommand.Execute(null); break;
|
||||||
case "Left": _diagramViewModel.LeftMoveCommand.Execute(null); break;
|
// case "Left": _diagramViewModel.LeftMoveCommand.Execute(null); break;
|
||||||
case "Right": _diagramViewModel.RightMoveCommand.Execute(null); break;
|
// case "Right": _diagramViewModel.RightMoveCommand.Execute(null); break;
|
||||||
case "Up": _diagramViewModel.UpMoveCommand.Execute(null); break;
|
// case "Up": _diagramViewModel.UpMoveCommand.Execute(null); break;
|
||||||
case "Down": _diagramViewModel.DownMoveCommand.Execute(null); break;
|
// case "Down": _diagramViewModel.DownMoveCommand.Execute(null); break;
|
||||||
default: executed = false; break;
|
// default: executed = false; break;
|
||||||
}
|
// }
|
||||||
e.Handled = executed;
|
// e.Handled = executed;
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user