void PhotosElement(IContainer container, ReportSectionPhotos model) { if (model.Photos.Count == 0) { container.Text("No photos", Typography.Normal); return; } var rowCount = (int)Math.Ceiling(model.Photos.Count / 3f); container.Padding(-2).Stack(stack => { foreach (var rowId in Enumerable.Range(0, rowCount)) { stack.Element().Row(row => { foreach (var id in Enumerable.Range(0, 3)) { var data = model.Photos.ElementAtOrDefault(rowId + id); row.RelativeColumn().Padding(2).Component(new ImageTemplate(data)); } }); } }); }
void PhotosElement(IContainer container, ReportSectionPhotos model) { if (model.PhotoCount == 0) { container.Text("No photos").Style(Typography.Normal); return; } container.DebugArea("Photos").Grid(grid => { grid.Spacing(5); grid.Columns(3); Enumerable .Range(0, model.PhotoCount) .ToList() .ForEach(x => grid.Item().AspectRatio(4 / 3f).Component <ImagePlaceholder>()); }); }