示例#1
0
        protected override Size ArrangeOverride(Size finalSize)
        {
            var minMax = this.GetMinMax();

            var arrangeSize = finalSize
                              .AtLeast(minMax.min)
                              .AtMost(minMax.max);

            var cx = arrangeSize.Width / 2;
            var cy = arrangeSize.Height / 2;

            var strokeThickness = ActualStrokeThickness;

            _ellipse.SetAttribute(
                ("cx", cx.ToStringInvariant()),
                ("cy", cy.ToStringInvariant()),
                ("rx", (cx - strokeThickness).ToStringInvariant()),
                ("ry", (cy - strokeThickness).ToStringInvariant()));

            return(base.ArrangeOverride(finalSize));
        }