protected override void InternalDraw(DrawingContext dc) { // y double viewportTop; if (Element.SelectedBlockInvisible(out viewportTop)) { return; } // size var blockConverter = Element.BlockConverter; var thickness = Element.SelectedBorder.Thickness / 2; var height = blockConverter.GetHeight(Element.SelectedBlock) - thickness; // x var top = blockConverter.GetTop(Element.SelectedBlock); var rect = Element.SelectedBlock.ToRect(Element.AxisXConverter, top, height); dc.PushTransform(new TranslateTransform(0, viewportTop)); dc.DrawGuidelineRect(Element.SelectedBrush, Element.SelectedBorder, rect); dc.Pop(); base.InternalDraw(dc); }
protected override void InternalDraw(DrawingContext dc) { if (Element.InvalidPlacement) { return; } if (_pen == null) { _pen = Element.GetDashPen(Brushes.Gray); } var axisXConverter = Element.AxisXConverter; var blockConverter = Element.BlockConverter; var selectedBlock = Element.PointOutBlock; var top = Element.GetPointOutY(); var blockHeight = blockConverter.GetHeight(selectedBlock) - 0.5; // 1 = border thickness; var left = axisXConverter.DataToScreen(Element.DropedPlacement.Start); var right = axisXConverter.DataToScreen(Element.DropedPlacement.End); var rect = new Rect(left < right ? left : right, top, Math.Abs(right - left), blockHeight); dc.DrawGuidelineRect(null, _pen, rect); }
protected override void InternalDraw(DrawingContext dc) { var axisXConverter = Element.AxisXConverter; var blockConverter = Element.BlockConverter; if (_pen == null) { _pen = Element.GetDashPen(Brushes.Gray); } if (!Element.AxisYConverter.IsInViewRagne(Element.PointOutDataRowIndex)) { return; } var height = blockConverter.GetHeight(Element.PointOutBlock) - 0.5; // 0.5 = 1 border thickness / 2 ; var blockLeft = axisXConverter.DataToScreen(Element.DropedPlacement.Start); var blockRight = axisXConverter.DataToScreen(Element.DropedPlacement.End); dc.DrawGuidelineRect(null, _pen, new Rect(blockLeft, Element.GetPointOutY(), blockRight - blockLeft, height)); base.InternalDraw(dc); }