From 285c015e8333f447a93b094376d446f13ae73caf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=89=BE=E7=AB=B9?= Date: Sat, 4 Feb 2023 16:51:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E9=94=AE=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MainWindow.xaml.cs | 6 +++ .../Controls/DesignerCanvas.cs | 21 ++++++++- .../Controls/FlowchartEditor.xaml.cs | 46 +++++++++---------- 3 files changed, 49 insertions(+), 24 deletions(-) diff --git a/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml.cs b/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml.cs index b0bc40e..6cd79bc 100644 --- a/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml.cs +++ b/AIStudio.Wpf.DiagramDesigner.Demo/MainWindow.xaml.cs @@ -106,6 +106,12 @@ namespace AIStudio.Wpf.DiagramDesigner.Demo new MenuItemViewModel(){Title = "PathAnimation"}, new MenuItemViewModel(){Title = "LineAnimation"}, } + }, + new MenuItemViewModel(){Title = "Editor", + Children=new List + { + new MenuItemViewModel(){Title = "FlowchartEditor"}, + } }, }; treeview.ItemsSource = _menus; diff --git a/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs b/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs index 84771b1..5683c36 100644 --- a/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs +++ b/AIStudio.Wpf.DiagramDesigner/Controls/DesignerCanvas.cs @@ -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) diff --git a/AIStudio.Wpf.Flowchart/Controls/FlowchartEditor.xaml.cs b/AIStudio.Wpf.Flowchart/Controls/FlowchartEditor.xaml.cs index fa5629f..556eb80 100644 --- a/AIStudio.Wpf.Flowchart/Controls/FlowchartEditor.xaml.cs +++ b/AIStudio.Wpf.Flowchart/Controls/FlowchartEditor.xaml.cs @@ -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; + //} } }