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