mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-06 09:16:37 +08:00
快捷键实现
This commit is contained in:
@@ -106,6 +106,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo
|
||||
new MenuItemViewModel(){Title = "PathAnimation"},
|
||||
new MenuItemViewModel(){Title = "LineAnimation"},
|
||||
}
|
||||
},
|
||||
new MenuItemViewModel(){Title = "Editor",
|
||||
Children=new List<MenuItemViewModel>
|
||||
{
|
||||
new MenuItemViewModel(){Title = "FlowchartEditor"},
|
||||
}
|
||||
},
|
||||
};
|
||||
treeview.ItemsSource = _menus;
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -249,30 +249,30 @@ namespace AIStudio.Wpf.Flowchart.Controls
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected override void OnPreviewKeyDown(KeyEventArgs e)
|
||||
{
|
||||
base.OnPreviewKeyDown(e);
|
||||
//protected override void OnPreviewKeyDown(KeyEventArgs e)
|
||||
//{
|
||||
// base.OnPreviewKeyDown(e);
|
||||
|
||||
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": _diagramViewModel.SelectAllCommand.Execute(null); break;
|
||||
case "Control+C": _diagramViewModel.CopyCommand.Execute(null); break;
|
||||
case "Control+V": _diagramViewModel.PasteCommand.Execute(null); break;
|
||||
case "Control+X": _diagramViewModel.CutCommand.Execute(null); break;
|
||||
case "Control+Z": _diagramViewModel.UndoCommand.Execute(null); break;
|
||||
case "Control+Y": _diagramViewModel.RedoCommand.Execute(null); break;
|
||||
case "Delete": _diagramViewModel.DeleteCommand.Execute(null); break;
|
||||
case "Left": _diagramViewModel.LeftMoveCommand.Execute(null); break;
|
||||
case "Right": _diagramViewModel.RightMoveCommand.Execute(null); break;
|
||||
case "Up": _diagramViewModel.UpMoveCommand.Execute(null); break;
|
||||
case "Down": _diagramViewModel.DownMoveCommand.Execute(null); break;
|
||||
default: executed = false; break;
|
||||
}
|
||||
e.Handled = executed;
|
||||
}
|
||||
// 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": _diagramViewModel.SelectAllCommand.Execute(null); break;
|
||||
// case "Control+C": _diagramViewModel.CopyCommand.Execute(null); break;
|
||||
// case "Control+V": _diagramViewModel.PasteCommand.Execute(null); break;
|
||||
// case "Control+X": _diagramViewModel.CutCommand.Execute(null); break;
|
||||
// case "Control+Z": _diagramViewModel.UndoCommand.Execute(null); break;
|
||||
// case "Control+Y": _diagramViewModel.RedoCommand.Execute(null); break;
|
||||
// case "Delete": _diagramViewModel.DeleteCommand.Execute(null); break;
|
||||
// case "Left": _diagramViewModel.LeftMoveCommand.Execute(null); break;
|
||||
// case "Right": _diagramViewModel.RightMoveCommand.Execute(null); break;
|
||||
// case "Up": _diagramViewModel.UpMoveCommand.Execute(null); break;
|
||||
// case "Down": _diagramViewModel.DownMoveCommand.Execute(null); break;
|
||||
// default: executed = false; break;
|
||||
// }
|
||||
// e.Handled = executed;
|
||||
//}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user