web-dev-qa-db-ja.com

Caliburn.Microを使用してXamarin Formsアプリのナビゲーションバーを削除する

Caliburn.Microを使用する新しいXamarin.FormsアプリでFormsApplication基本クラスを使用すると、画面上部に空のナビゲーションバーが表示されます。すぐに使えるXamarin.Formsアプリにはそれがないので、なんとかしてCaliburn.Microによって作成されていると思います。

このナビゲーションバーなしでXamarin.FormsでCaliburn.Microを使用する方法はありますか?

20
Brian Sullivan

私はCaliburn.Microを使用していませんが、ページをNavigationPageでラップすると想定しています。

次のようにページに単純な属性を設定することで、そのナビゲーションバーを非表示にできるはずです。

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

XAMLページを使用せず、代わりにすべてのUIをコードで実行する場合は、ページコンストラクター内で次のように実行できます。

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

わたしにはできる:

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

Xamarin Forms 3.xを使用している場合は、コンストラクターでこれを試してください

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