protected override void LayoutChildren(double x, double y, double width, double height)
        {
            foreach (var child in LogicalChildren.Cast <View>())
            {
                var result  = new Rectangle(x, y, 0, 0);
                var request = child.GetSizeRequest(double.PositiveInfinity, double.PositiveInfinity);
                result.Width  = request.Request.Width;
                result.Height = request.Request.Height;

                child.Layout(result);
            }
        }