public virtual void Scale(Point orgin, double scaleX, double scaleY) { var transform = new ScaleTransform() { ScaleX = scaleX, ScaleY = scaleY, CenterX = orgin.X, CenterY = orgin.Y }; StartLocation = transform.TransformPoint(StartLocation); EndLocation = transform.TransformPoint(EndLocation); }