| File: Layout\FlexExtensions.cs | Web Access |
| Project: src\src\Controls\src\Core\Controls.Core.csproj (Microsoft.Maui.Controls) |
using Microsoft.Maui.Graphics; using Microsoft.Maui.Layouts; using Flex = Microsoft.Maui.Layouts.Flex; namespace Microsoft.Maui.Controls { static class FlexExtensions { public static Rect GetFrame(this Flex.Item item) { return new Rect(item.Frame[0], item.Frame[1], item.Frame[2], item.Frame[3]); } public static Size GetConstraints(this Flex.Item item) { var widthConstraint = -1d; var heightConstraint = -1d; var parent = item.Parent; do { if (parent == null) break; if (widthConstraint < 0 && !float.IsNaN(parent.Width)) widthConstraint = (double)parent.Width; if (heightConstraint < 0 && !float.IsNaN(parent.Height)) heightConstraint = (double)parent.Height; parent = parent.Parent; } while (widthConstraint < 0 || heightConstraint < 0); return new Size(widthConstraint, heightConstraint); } public static Flex.Basis ToFlexBasis(this FlexBasis basis) { if (basis.IsAuto) return Flex.Basis.Auto; if (basis.IsRelative) return new Flex.Basis(basis.Length, isRelative: true); return new Flex.Basis(basis.Length, isRelative: false); } } }