Formulaires Xamarin-se débarrasser du bouton arrière dans la barre de navigation
disons que la première page de l'application est la page de connexion et ensuite il me faut faire l'écran du menu principal, y a-t-il un moyen de se débarrasser du bouton de retour dans la barre de navigation du menu principal, comme se débarrasser de la pile de page de connexion?
merci
4 réponses
En Xamarin.Formulaires 1.3 et plus vous pouvez utiliser
NavigationPage.SetHasBackButton(this, false);
Xaml
vous pouvez ajouter:
<ContentPage ....NameSpaces etc....
NavigationPage.HasBackButton="False"
Title="MyPage">
</ContentPage>
Vous pouvez éviter d'avoir le bouton de Retour si vous remplacez Navigation.PushAsync(page)
Navigation.PushModalAsync(page)
dans le code de votre page de connexion. Poster du code, si ce en quelque sorte ne s'applique pas
cela a à voir avec la façon dont la navigation fonctionne dans L'OS sous - jacent (au moins dans iOS qui est le cas) - il ya un contrôleur de Navigation qui sert pour les pages de transition entre les uns et les autres et ont une trace de l'écran précédent de sorte que l'utilisateur peut revenir en arrière.
Il y a 2 façons de se débarrasser d'un bouton de retour:
1) vous pouvez supprimer la barre de navigation de Xaml en utilisant Xamarin.Formulaires utilisant le code ci-dessous
NavigationPage.SetHasNavigationBar (this, false);
Où this
signifie "page / forme actuelle".
2) Suivre les étapes mentionnées ci-dessous
- naviguez vers la page de connexion lorsque l'application est chargée avec Normal
ContentPage
instance de la page de connexion - naviguez vers la page principale à partir de la page de connexion en utilisant
PushModalAsync
et fournir la page principale exempleNavigationPage
- et puis de toutes les autres pages, vous pouvez utiliser PushAsync et il vous permettra de naviguer à toutes les pages sans aucune erreur.
Espérons que cette aide!
en utilisant CustomRenderer, vous appelez cette fonction dans ViewWillAppear dans votre contrôleur de vue personnalisé
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 ...
}