Example #1
0
        protected override Size MeasureOverride(Size constraint)
        {
            var contentDesiredSize = base.MeasureOverride(constraint);

            if (contentDesiredSize.Width == 0 || double.IsInfinity(contentDesiredSize.Width)
                || contentDesiredSize.Height == 0 || double.IsInfinity(contentDesiredSize.Height))

                return contentDesiredSize;

            _pathGeometry = CreateGeometry(contentDesiredSize);
            Clip = _pathGeometry;

            return _pathGeometry.GetRenderBounds(new Pen(PenBrush, 1)
            {
                EndLineCap = PenLineCap.Flat,
                MiterLimit = 1
            }).Size;
        }