private static LabelSizeInfo GetLabelSize(FrameworkElement visual) { RadSize visualSize = GetVisualDesiredSize(visual); LabelSizeInfo sizeInfo = new LabelSizeInfo() { UntransformedSize = visualSize }; GeneralTransform transform = visual.RenderTransform; if (transform != null) { Rect labelRect = new Rect(0, 0, visualSize.Width, visualSize.Height); labelRect = transform.TransformBounds(labelRect); sizeInfo.TransformOffset = new RadPoint(labelRect.X, labelRect.Y); sizeInfo.Size = new RadSize(labelRect.Width, labelRect.Height); } else { sizeInfo.Size = visualSize; } return(sizeInfo); }
private static void UpdateLabelSizeInfo(AxisLabelModel label, LabelSizeInfo sizeInfo) { label.transformOffset = sizeInfo.TransformOffset; label.untransformedDesiredSize = sizeInfo.UntransformedSize; }