//-------------------------------------------------------------------------- private Rect GetRectOfObject(LinkControlPoint point) { Rect rectangleBounds = new Rect(); rectangleBounds.X = point.CanvasX; rectangleBounds.Y = point.CanvasY; rectangleBounds.Width = point.ActualWidth * Scale; rectangleBounds.Height = point.ActualHeight * Scale; return(rectangleBounds); }
//-------------------------------------------------------------------------- public void RemoveControlPoint(LinkControlPoint controlPointView) { var controlPointData = controlPointView.controlPoint; var oldIndex = ControlPoints.IndexOf(controlPointView); GraphReferenceItem.UndoRedo.ApplyDoUndo( () => { GraphReferenceItem.ControlPoints.Remove(controlPointData); ControlPoints.Remove(controlPointView); RaisePropertyChangedEvent("Link"); }, () => { GraphReferenceItem.ControlPoints.Insert(oldIndex, controlPointData); ControlPoints.Insert(oldIndex, controlPointView); RaisePropertyChangedEvent("Link"); }, "Remove Control Point"); }
//-------------------------------------------------------------------------- public void AddControlPoint(Point pos) { var controlPointData = new GraphReferenceControlPoint(GraphReferenceItem, pos); var controlPointView = new LinkControlPoint(this, controlPointData); GraphReferenceItem.UndoRedo.ApplyDoUndo( () => { GraphReferenceItem.ControlPoints.Add(controlPointData); ControlPoints.Add(controlPointView); RaisePropertyChangedEvent("Link"); }, () => { GraphReferenceItem.ControlPoints.Remove(controlPointData); ControlPoints.Remove(controlPointView); RaisePropertyChangedEvent("Link"); }, "Add Control Point"); }