Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/ConnectorVertexModel.cs
2023-01-24 16:20:39 +08:00

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);
}
}
}
}