protected override Size ArrangeOverride(Size arrangeBounds)
{
base.ArrangeOverride(arrangeBounds);
var size = CalculateSize(arrangeBounds);
if ((Content != null) && (Content is FrameworkElement))
{
((FrameworkElement)Content).Arrange(new Rect(new Point(0, 0), size));
}
return arrangeBounds;
}