protected void EndDrawing() { if (TargetObject != null) { if (TargetObject.Nodes.Count < 2) { if (TargetObject.Parent is Canvas) { (TargetObject.Parent as Canvas).Children.Remove(TargetObject); } } else if (ObjectCreated != null) { ObjectCreated(this, new EventArgs()); } TargetObject = null; } if ((GuideLine != null) && (GuideLine.Parent is Canvas)) { (GuideLine.Parent as Canvas).Children.Remove(GuideLine); GuideLine = null; } IsDrawing = false; }
protected void StartDrawing(Canvas drawingCanvas) { if (drawingCanvas == null) { return; } IsDrawing = true; if (TargetObject == null) { TargetObject = CreateNewObject(); drawingCanvas.Children.Add(TargetObject); } if (GuideLine == null) { GuideLine = new DDPenGuideLine(); if (TargetObject.Nodes.Count > 0) { GuideLine.StartPoint = TargetObject.Nodes.Last.Point.Point; GuideLine.EndPoint = TargetObject.Nodes.Last.Point.Point; } drawingCanvas.Children.Add(GuideLine); } }
private static void AnyPropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs args) { DDPenGuideLine sender = (DDPenGuideLine)d; sender.InvalidateVisual(); }