web-dev-qa-db-fra.com

Supprimer la barre de navigation de l'application Xamarin Forms avec Caliburn.Micro

Lorsque j'utilise la classe de base FormsApplication avec une toute nouvelle application Xamarin.Forms utilisant Caliburn.Micro, une barre de navigation vide apparaît en haut de mon écran. Je suppose que cela a été créé par Caliburn.Micro, car une application prête à l'emploi Xamarin.Forms n'a pas cela.

Est-il possible d'utiliser Caliburn.Micro avec Xamarin.Forms sans cette barre de navigation?

16
Brian Sullivan

Je n'ai pas utilisé Caliburn.Micro, mais je suppose qu'il enveloppe votre page d'un NavigationPage, car ce que vous décrivez est ce qu'il se passerait si tel était le cas.

Vous devriez pouvoir cacher cette barre de navigation en définissant un attribut simple dans votre page comme ceci:

<ContentPage NavigationPage.HasNavigationBar="false"
    ..... >
</ContentPage>

Si vous n'utilisez pas de pages XAML et que vous utilisez toute votre interface utilisateur dans le code, vous pouvez le faire de cette manière dans le constructeur de votre page:

NavigationPage.SetHasNavigationBar(this, false);
75
Keith Rome

Ça marche pour moi:

protected override void OnCreate(Bundle bundle)
{
    base.OnCreate(bundle);
    this.Window.AddFlags(WindowManagerFlags.Fullscreen); // hide the status bar

                // Set our view from the "main" layout resource
    SetContentView(Resource.Layout.Main);

    int uiOptions = (int)Window.DecorView.SystemUiVisibility;

    uiOptions |= (int)SystemUiFlags.LowProfile;
    uiOptions |= (int)SystemUiFlags.Fullscreen;
    uiOptions |= (int)SystemUiFlags.HideNavigation;
    uiOptions |= (int)SystemUiFlags.ImmersiveSticky;

    Window.DecorView.SystemUiVisibility = 
     (StatusBarVisibility)uiOptions;
}
1
Sina

Si vous utilisez Xamarin Forms 3.x, essayez ceci dans le constructeur.

 SetValue(NavigationPage.HasNavigationBarProperty, false);
 InitializeComponent();
0
Shekhar