Xamarin Forms Center NavigationPage başlığı

Sep 30 2020

Bir problemim var. Navigation.PushAsync () kullandım, bu yüzden şimdi ikinci sayfamda NavigationBar'da bir geri okum var. Şimdi, Navigasyon Çubuğunun ortasına da bir başlık görünümü eklemek istiyorum, ancak tam olarak ortada değil, geri düğmesi nedeniyle daha sağda ortalanmış.

Bunu zaten bir AbsoluteLayout'ta şu şekilde ayarlamayı denedim:

<NavigationPage.TitleView>
    <AbsoluteLayout>
        <Label Text="MyTitle" FontSize="20" AbsoluteLayout.LayoutBounds="0.5, 0.5" AbsoluteLayout.LayoutFlags="PositionProportional" />
    </AbsoluteLayout>
</NavigationPage.TitleView>

Ama yine de aynı sonuç :(

Bunu nasıl düzeltebilirim?

Yanıtlar

ShubhamTyagi Sep 30 2020 at 20:06

Geri düğmesini kaldırın

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:d="http://xamarin.com/schemas/2014/forms/design"
             NavigationPage.HasBackButton="False">

Özel bir görüntü ekleyin ve TapGesture'ı kullanın (veya FontAwesome veya başka bir şeyi kullanabilirsiniz)

<AbsoluteLayout>
            <Image AbsoluteLayout.LayoutBounds="0, 0.5" AbsoluteLayout.LayoutFlags="PositionProportional" WidthRequest="20" HeightRequest="20"
                   Source="arrow16">
                <Image.GestureRecognizers>
                    <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
                </Image.GestureRecognizers>
            </Image>
            <Label Text="MyTitle" FontSize="20" AbsoluteLayout.LayoutBounds="0.5, 0.5" AbsoluteLayout.LayoutFlags="PositionProportional" />
</AbsoluteLayout>

Dokunma olayında sayfayı aç

private async void TapGestureRecognizer_Tapped(object sender, EventArgs e)
{
   await Navigation.PopAsync();
}