Каков наилучший способ добавить изображение назад с помощью TapRecognizer в верхнем левом углу?У меня есть только одно условие: кнопка «Назад» должна быть выровнена с логотипом, который находится в центре страницы.Я начал с RelativeLayout, который является частью StackLayout.
Единственное, что мой HeightRequest логотипа является свойством Binding для кода, и поэтому я не могу знать размер на разных экранах (свойство Binding принимает App.Heightи разделить с некоторым числом, чтобы быть пропорциональным на всех телефонах одинаково).
Присутствует:
XAML:
<ContentPage.Content>
<ScrollView>
<StackLayout
Padding="{Binding MainStackSidePadding}"
Spacing="15">
<RelativeLayout
Padding="{Binding MainStackSidePadding}"
BackgroundColor="Red">
<Image x:Name="logo" Source="testbar.png" HorizontalOptions="Center" HeightRequest="{Binding LogoSmallHeight}"
RelativeLayout.XConstraint =
"{ConstraintExpression Type=RelativeToParent,
Property=Width,
Factor=0.5,
Constant=0}"
RelativeLayout.YConstraint =
"{ConstraintExpression Type=RelativeToParent,
Property=Height,
Factor=0,
Constant=0}"/>
<Image x:Name="backButton" Source="back.png" HeightRequest="30"
RelativeLayout.XConstraint =
"{ConstraintExpression Type=RelativeToParent,
Property=Width,
Factor=0.025,
Constant=0}"
RelativeLayout.YConstraint =
"{ConstraintExpression Type=RelativeToView,
ElementName = logo,
Property=Height,
Factor=0,
Constant=50}">
<Image.GestureRecognizers>
<TapGestureRecognizer
Command="{Binding GoBackCommand}"/>
</Image.GestureRecognizers>
</Image>
</RelativeLayout>
<!--Some other elements and labels etc. -->
</StackLayout>
</ScrollView>
</ContentPage.Content>
Я хочу добиться этого:
Может быть, RelativeLayout не лучшее решение для этой проблемы?Благодаря.