protected override SizeRequest OnMeasure(double widthConstraint, double heightConstraint) { var layoutInfo = new LayoutInfo(Spacing); layoutInfo.ProcessLayout(Children, widthConstraint); return(new SizeRequest(new Size(widthConstraint, layoutInfo.HeightRequest))); }
protected override void LayoutChildren(double x, double y, double width, double height) { var layoutInfo = new LayoutInfo(Spacing); layoutInfo.ProcessLayout(Children, width); for (int i = 0; i < layoutInfo.Bounds.Count; i++) { if (!Children[i].IsVisible) { continue; } var bounds = layoutInfo.Bounds[i]; bounds.Left += x; bounds.Top += y; LayoutChildIntoBoundingRegion(Children[i], bounds); } }