В основном вам необходимо поиграть со следующими свойствами для каждого макета:
- HorizontalOptions
- VerticalOptions
Например, ваш родительский StackLayout должен иметьэто свойство установлено на FillAndExpand
, поэтому оно охватывает весь экран по высоте и ширине.Непосредственно ребенок должен быть вертикально центрирован, а также заполнен горизонтально.Примерно так:
<!-- Parent stacklayout starts -->
<StackLayout
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand">
<!-- Immediately child stacklayout starts -->
<StackLayout
HorizontalOptions="FillAndExpand"
VerticalOptions="CenterAndExpand">
<!-- Your login markup starts -->
<!-- Your login markup ends -->
</StackLayout>
<!-- Immediately child stacklayout ends -->
</StackLayout>
И остальные дети попадают в этот базовый макет.Помните, что вы находитесь в стеке, где элементы расположены в стеке.
Также не забудьте использовать HorizontalTextAlignment для фактического выравнивания элементов под вашими стеками, например:
<!-- Parent stacklayout starts -->
<StackLayout
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand">
<!-- Immediately child stacklayout starts -->
<StackLayout
HorizontalOptions="FillAndExpand"
VerticalOptions="CenterAndExpand">
<!-- Your login markup starts -->
<Label Text="Hi there!" HorizontalTextAlignment="Center" />
<Label Text="Here you have some tips" HorizontalTextAlignment="Center" />
<!-- Your login markup ends -->
</StackLayout>
<!-- Immediately child stacklayout ends -->
</StackLayout>