У меня есть приложение форм Xamarin, в котором я использую относительный макет, чтобы некоторые элементы позиционировались очень конкретно. Я хочу, чтобы макет стека был центрирован прямо посередине относительного макета. Я использую этот код:
_relativeLayout.Children.Add (
_stackLayout,
Constraint.RelativeToParent(p => (p.Width / 2) - (_stackLayout.Width / 2) ),
Constraint.RelativeToParent(p => (p.Height/ 2) - (_stackLayout.Height / 2) )
);
Когда форма загружается, я не получаю нужный результат. Расположение стека далеко в сторону. Однако, если я поверну экран в одну сторону, а затем обратно, он будет выглядеть идеально. Итак, я понимаю, что когда макет визуализируется, высота и ширина макета стека еще не полностью рассчитаны, но при повороте эти значения известны, поэтому он отображается правильно.
Как я могу получить идеально центрированный макет стека при загрузке начальной формы?