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); } }