2016-04-15 9 views
9

Wenn Sie die FormsApplication Basisklasse mit einer brandneuen Xamarin.Forms App mit Caliburn.Micro verwenden, habe ich am oberen Bildschirmrand eine leere Navigationsleiste. Ich nehme an, es wird irgendwie von Caliburn.Micro erstellt, weil eine Out-of-the-Box Xamarin.Forms-App das nicht hat.Entfernen Sie die Navigationsleiste in Xamarin Forms App mit Caliburn.Micro

Gibt es eine Möglichkeit, Caliburn.Micro mit Xamarin.Forms ohne diese Navigationsleiste zu verwenden?

Antwort

49

Ich habe Caliburn.Micro nicht verwendet, aber ich gehe davon aus, dass es Ihre Seite mit einer NavigationPage umschließt, denn was Sie beschreiben, ist was passieren würde, wenn so.

Sie sollten in der Lage sein, diese Navigationsleiste zu verbergen, indem ein einfaches Attribut auf Ihrer Seite wie so einstellen:

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

Wenn Sie nicht XAML-Seiten verwenden und stattdessen alle Ihre UI in Code tun Sie dann kann es auf diese Weise tun in Ihrer Seite Konstruktor:

NavigationPage.SetHasNavigationBar(this, false); 
+0

das p gearbeitet perfekt! Vielen Dank! –

+1

Aus irgendeinem Grund funktioniert die 'NavigationPage.SetHasNavigationBar' nicht mehr, aber die XAML-Lösung funktioniert gut. –

0

es funktioniert für mich:

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; 
}