Установите кнопку возврата в верхнем левом углу, выровненную по логотипу в Xamarin.Forms - PullRequest
0 голосов
/ 24 мая 2018

Каков наилучший способ добавить изображение назад с помощью TapRecognizer в верхнем левом углу?У меня есть только одно условие: кнопка «Назад» должна быть выровнена с логотипом, который находится в центре страницы.Я начал с RelativeLayout, который является частью StackLayout.

Единственное, что мой HeightRequest логотипа является свойством Binding для кода, и поэтому я не могу знать размер на разных экранах (свойство Binding принимает App.Heightи разделить с некоторым числом, чтобы быть пропорциональным на всех телефонах одинаково).

Присутствует: back button and logo

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>

Я хочу добиться этого: enter image description here

Может быть, RelativeLayout не лучшее решение для этой проблемы?Благодаря.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...