protected override Size ArrangeOverride(Size finalSize)
{
if (_visualParent != null)
{
_lastVisualParentSize = _visualParent.RenderSize;
}
else
{
_lastVisualParentSize = finalSize;
}
UIElement child;
for (int i = 0; i < this.InternalChildren.Count; i++)
{
child = this.InternalChildren[i];
Rect arrangeRect = new Rect(new Point(_lastVisualParentSize.Width * i, 0), _lastVisualParentSize);
child.Arrange(arrangeRect);
}
return new Size(_lastVisualParentSize.Width * InternalChildren.Count, _lastVisualParentSize.Height);
}