可以把连线从节点上拖下来,并且依附上去。

This commit is contained in:
艾竹
2023-05-03 13:28:16 +08:00
parent 1536e5018d
commit ed22b9daa3
13 changed files with 352 additions and 79 deletions

View File

@@ -410,8 +410,8 @@ namespace AIStudio.Wpf.DiagramDesigner
if (EnableSnapping)
{
var nearPort = FindNearPortToAttachTo();
if (nearPort != null || partialConnection.SinkConnectorInfoFully != null)
var nearPort = _viewModel.FindNearPortToAttachTo(partialConnection);
if (nearPort != null)
{
partialConnection.SinkConnectorInfo = nearPort;
}
@@ -632,20 +632,6 @@ namespace AIStudio.Wpf.DiagramDesigner
e.Handled = true;
this.Focus();
}
#region
private FullyCreatedConnectorInfo FindNearPortToAttachTo()
{
foreach (var port in _viewModel.Items.OfType<DesignerItemViewModelBase>().ToList().SelectMany(n => n.Connectors))
{
if (partialConnection.OnGoingPosition.DistanceTo(port.Position) < SnappingRadius &&
partialConnection.SourceConnectorInfoFully?.CanAttachTo(port) == true)
return port;
}
return null;
}
#endregion
}
}
}