/// <param name="startPoint">Relative to the adorner layer. Note the adorner layer will not scroll.</param> public RubberbandAdorner(Controls.DesignerCanvas canvas, Point startPoint, Action <object, Rect> callback) : base(canvas) { _Canvas = canvas; _Callback = callback; _StartPoint = _EndPoint = startPoint; chrome = new RubberbandChrome() { HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(_StartPoint.X, _StartPoint.Y, 0, 0) }; ResizeChrome(); this.AddVisualChild(chrome); CaptureMouse(); }
internal void SetCanvas(Controls.DesignerCanvas canvas) { if (_ParentCanvas != null) { _ParentCanvas.ZoomChanged -= ParentCanvas_ZoomChanged; } _ParentCanvas = canvas; if (canvas != null) { canvas.ZoomChanged += ParentCanvas_ZoomChanged; } if (canvas != null) { OnUpdateLayout(); } }