2014-07-24 29 views
19

Uygulamanın ilk sayfasının oturum açma sayfası olduğunu ve sonra ana menü ekranını yapmam gerektiğini söyler, arkadaki düğmeden kurtulmanın bir yolu var Giriş sayfası yığınından kurtulmak gibi ana menü gezinme çubuğu? Xamarin Formları - Nav Barında Geri Düğme Kurtarılıyor

oturum açma sayfa kodundaki Navigation.PushModalAsync(page) için Navigation.PushAsync(page) yerine eğer

+0

Bize giriş sayfanızın kodunu gösterebilir misiniz? –

cevap

9

Sen Geri düğmesini kaçınabilmenizi teşekkür ederim. Bu tür bir uygulama geçerli değilse bazı kodları gönderin

Bu, navigasyonun temel işletim sisteminde nasıl çalıştığıyla ilgilidir (en azından iOS'taki durumdur) - sayfaların birbirleri arasında geçiş yapmasını sağlayan bir Gezinme Denetçisi vardır. ve kullanıcı geri gidebilmesi için önceki ekranın izini sürdürebilir.

+1

Gezinme çubuğunu araç çubuklarına sahip olmak istiyorsam ne yapmalıyım? – user3841879

+1

araç çubuğu öğeleri sayfa için tanımlanmalıdır, navigasyon kontrolörü için değil –

4

geri düğmesi kurtulmak için 2 yol vardır:
1) Xaml gelen gezinti çubuğu kaldırabilirsiniz Xamarin.Forms kullanarak kod aşağıda kullanarak

NavigationPage.SetHasNavigationBar (this, false); 

nerede geçerli sayfaya/form örneği için this duruyor.

2) izleyin aşağıda belirtilen adımlar

    gezinin uygulaması Girişi sayfasından Ana sayfaya Giriş Sayfası
  • gezinin normal ContentPage örneği ile yüklendiğinde PushModalAsync kullanarak sayfayı açmak ve ana sayfaya örneğini temin etmek
  • NavigationPage
  • Ve diğer tüm sayfalardan, PushAsync'i kullanabilirsiniz ve herhangi bir hata olmadan tüm sayfalara gitmenizi sağlar.

Bu yardımcı olur umarız!

CustomRenderer kullanarak
2

, size ekleyebilir Xamarin.Forms 1.3 ve daha büyük ise

public override void ViewWillAppear (bool animated) 
{ 
    base.ViewWillAppear (animated); 
    this.ParentViewController.NavigationItem.SetHidesBackButton (true, false); 
    //remember to use ParentViewController to reference to the NavigationViewController (if your contentPage is direct under a navigation controller. I don't know why but Xamarin must have a bug with SetHidesBackButton. If you call with this.NavigationItem.SetHidesBackButton(...), it should not work. 
    ... other implements here ... 
} 
41

Eğer Xaml yılında

NavigationPage.SetHasBackButton(this, false); 

kullanabilirsiniz özelleştirilmiş görünüm denetleyicisi viewWillAppear içinde bu işlevi çağırır:

<ContentPage ....NameSpaces etc.... 
    NavigationPage.HasBackButton="False" 
    Title="MyPage"> 
</ContentPage> 
+1

Harika çalışıyor ... Bu arada, XAML'den mümkün mü? Sadece bir merak .. –

+1

@shakin_hand_incision Cevabımı 'XAML' yolunu – user1

+0

içerecek şekilde güncelledim. Bu hala geri düğmesiyle ilişkili alanı oluşturuyor gibi görünüyor (sadece geri düğmesi görünmeden). Bu alandan kurtulmanın bir yolu var mı? – jbyrd