mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-04-09 02:36:35 +08:00
60 lines
1.5 KiB
C#
60 lines
1.5 KiB
C#
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
|
|
|
namespace AIStudio.Wpf.DiagramDesigner
|
|
{
|
|
public class ConnectorVertexModel : ConnectorPointModel
|
|
{
|
|
public ConnectorVertexModel(ConnectorViewModel connector, PointBase? position = null)
|
|
{
|
|
Parent = connector;
|
|
X = position?.X ?? 0;
|
|
Y = position?.Y ?? 0;
|
|
}
|
|
|
|
protected override void Init()
|
|
{
|
|
base.Init();
|
|
|
|
DeleteVertexCommand = new SimpleCommand(DeleteVertex);
|
|
}
|
|
|
|
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
|
{
|
|
base.LoadDesignerItemViewModel(root, designerbase);
|
|
|
|
}
|
|
|
|
public ConnectorViewModel Connector
|
|
{
|
|
get
|
|
{
|
|
return Parent as ConnectorViewModel;
|
|
}
|
|
}
|
|
|
|
public override PointBase Position
|
|
{
|
|
get
|
|
{
|
|
return new PointBase(Connector.Area.Left + Left, Connector.Area.Top + Top);
|
|
}
|
|
}
|
|
|
|
public override PointBase MiddlePosition => new PointBase(Connector.Area.Left + Left + ConnectorWidth / 2, Connector.Area.Top + Top + ConnectorHeight / 2);
|
|
|
|
public SimpleCommand DeleteVertexCommand
|
|
{
|
|
get; set;
|
|
}
|
|
|
|
private void DeleteVertex(object parameter)
|
|
{
|
|
if (parameter is ConnectorVertexModel vertice)
|
|
{
|
|
Connector.Vertices.Remove(vertice);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|