private float ComputeHorizontalMargin(VisualElement element, VisualElement child, DimensionalElement container) { MarginStyle marginStyle = child.Styles.Margin; if (marginStyle != null) { switch (marginStyle.Left.Unit) { case SizeUnit.Pixels: child.MarginLeft = marginStyle.Left.Value; break; case SizeUnit.Percents: child.MarginLeft = (container.Width / 100) * marginStyle.Left.Value; break; } switch (marginStyle.Right.Unit) { case SizeUnit.Pixels: child.MarginRight = marginStyle.Right.Value; break; case SizeUnit.Percents: child.MarginRight = (container.Width / 100) * marginStyle.Right.Value; break; } } return(child.HorizontalMargin); }