2016-04-15 41 views
9

當使用FormsApplication基類和全新的Xamarin.Forms應用程序使用Caliburn.Micro時,我最終在屏幕頂部出現了一個空的導航欄。我認爲它是由Caliburn.Micro以某種方式創建的,因爲開箱即用的Xamarin.Forms應用程序沒有這個功能。使用Caliburn.Micro移除Xamarin Forms應用程序上的導航欄

有沒有什麼辦法可以使用Caliburn.Micro Xamarin.Forms沒有此導航欄?

回答

49

我還沒有使用過Caliburn.Micro,但我假設它是用NavigationPage包裝你的頁面,因爲你描述的是如果是的話會發生什麼。

你應該能夠在你的網頁像這樣設置一個簡單的屬性來隱藏導航欄:如果您不使用XAML頁面,做所有的用戶界面的代碼,而不是

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

,那麼你可以在頁面構造函數中做這種方式:

NavigationPage.SetHasNavigationBar(this, false); 
+0

這工作p erfectly!謝謝! –

+1

出於某種原因,「NavigationPage.SetHasNavigationBar」不再工作,但XAML解決方案運行良好。 –

0

它爲我的作品:

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; 
} 
相關問題