mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-19 16:06:35 +08:00
快捷键支持
This commit is contained in:
@@ -27,6 +27,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
this.Resources.MergedDictionaries.Add(ResourceDictionary);
|
||||
}
|
||||
|
||||
this.Focusable = true;
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty ResourceDictionaryProperty = DependencyProperty.Register(nameof(ResourceDictionary), typeof(ResourceDictionary), typeof(DiagramControl), new UIPropertyMetadata(null, OnResourceDictionaryChanged));
|
||||
@@ -71,9 +73,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
private void DesignerCanvas_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
//DesignerCanvas myDesignerCanvas = sender as DesignerCanvas;
|
||||
//zoomBox.DesignerCanvas = myDesignerCanvas;
|
||||
|
||||
|
||||
//zoomBox.DesignerCanvas = myDesignerCanvas;
|
||||
}
|
||||
|
||||
private async void ScaleTransform_Changed(object sender, EventArgs e)
|
||||
@@ -81,5 +81,91 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
await System.Threading.Tasks.Task.Delay(100);
|
||||
ZoomValue = scale.ScaleX;
|
||||
}
|
||||
|
||||
private IDiagramViewModel DiagramViewModel
|
||||
{
|
||||
get
|
||||
{
|
||||
return DataContext as IDiagramViewModel;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnPreviewKeyDown(KeyEventArgs e)
|
||||
{
|
||||
base.OnPreviewKeyDown(e);
|
||||
|
||||
if (DiagramViewModel.DiagramOption.ShortcutOption.SelectAll(e))
|
||||
{
|
||||
DiagramViewModel.SelectAllCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.Copy(e))
|
||||
{
|
||||
DiagramViewModel.CopyCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.Paste(e))
|
||||
{
|
||||
DiagramViewModel.PasteCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.Cut(e))
|
||||
{
|
||||
DiagramViewModel.CutCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.Undo(e))
|
||||
{
|
||||
DiagramViewModel.UndoCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.Redo(e))
|
||||
{
|
||||
DiagramViewModel.RedoCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.Delete(e))
|
||||
{
|
||||
DiagramViewModel.DeleteCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.LeftMove(e))
|
||||
{
|
||||
DiagramViewModel.LeftMoveCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.RightMove(e))
|
||||
{
|
||||
DiagramViewModel.RightMoveCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.UpMove(e))
|
||||
{
|
||||
DiagramViewModel.UpMoveCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.DownMove(e))
|
||||
{
|
||||
DiagramViewModel.DownMoveCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
else if (DiagramViewModel.DiagramOption.ShortcutOption.Group(e))
|
||||
{
|
||||
DiagramViewModel.GroupCommand.Execute(null);
|
||||
e.Handled = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user