This commit is contained in:
艾竹
2023-08-03 23:01:33 +08:00
parent 5ee23157e4
commit 25cd232579
3 changed files with 58 additions and 5 deletions

View File

@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading;
using System.Windows;
using System.Windows.Controls.Primitives;
using System.Windows.Input;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner.Geometrys;
namespace AIStudio.Wpf.DiagramDesigner.Controls
{
public class BlockDragThumb : DragThumb
{
BlockDesignerItemViewModel DesignerItem
{
get
{
return DataContext as BlockDesignerItemViewModel;
}
}
private Point? firstPoint;
protected override void OnPreviewMouseLeftButtonDown(MouseButtonEventArgs e)
{
base.OnPreviewMouseLeftButtonDown(e);
if (e.LeftButton == MouseButtonState.Pressed && firstPoint == null)
{
firstPoint = e.GetPosition(this);
DesignerItem.BeforeExecute();
}
}
protected override void OnPreviewMouseLeftButtonUp(MouseButtonEventArgs e)
{
base.OnPreviewMouseLeftButtonDown(e);
if (firstPoint == e.GetPosition(this))
{
DesignerItem.EditCommand?.Execute(e.GetPosition(this));
firstPoint = null;
}
}
}
}

View File

@@ -851,12 +851,12 @@
</Grid.ContextMenu>
<!-- PART_DragThumb -->
<c:DragThumb x:Name="PART_DragThumb"
<c:BlockDragThumb x:Name="PART_DragThumb"
Cursor="SizeAll" >
<c:DragThumb.InputBindings>
<c:BlockDragThumb.InputBindings>
<MouseBinding MouseAction="LeftDoubleClick" Command="{Binding EditCommand}" CommandParameter="{Binding }" />
</c:DragThumb.InputBindings>
</c:DragThumb>
</c:BlockDragThumb.InputBindings>
</c:BlockDragThumb>
<Grid RenderTransformOrigin="0.5,0.5" >
<!-- PART_ContentPresenter -->

View File

@@ -423,9 +423,14 @@ namespace AIStudio.Wpf.DiagramDesigner
}
#region
protected override async void ExecuteEditCommand(object param)
{
await (this.GetFirst() ?? this).Execute();
}
public async Task Execute()
{
await BeforeExecute();
await BeforeExecute();
await Executing();
await AfterExecute();
}