使用Caliburn.Micro删除Xamarin Forms应用程序上的导航栏

Bri*_*van 20 caliburn.micro xamarin.forms

当使用FormsApplication基础类和使用Caliburn.Micro的全新Xamarin.Forms应用程序时,我最终在屏幕顶部显示一个空的导航栏.我认为它是由Caliburn.Micro以某种方式创建的,因为开箱即用的Xamarin.Forms应用程序没有这个.

有没有什么方法可以使用Caliburn.Micro与Xamarin.Forms没有这个导航栏?

Kei*_*ome 83

我没有使用过Caliburn.Micro,但我假设它正在用a包装你的页面NavigationPage,正如你所描述的那样,如果是这样的话会发生什么.

您应该能够通过在页面中设置简单属性来隐藏该导航栏,如下所示:

<ContentPage NavigationPage.HasNavigationBar="false"
    ..... >
</ContentPage>
Run Code Online (Sandbox Code Playgroud)

如果您没有使用XAML页面并在代码中执行所有UI,那么您可以在页面构造函数中以这种方式执行此操作:

NavigationPage.SetHasNavigationBar(this, false);
Run Code Online (Sandbox Code Playgroud)

  • 出于某种原因,`NavigationPage.SetHasNavigationBar`不再起作用,但XAML解决方案运行良好. (2认同)
  • 如果这不起作用,您可能正在使用“Shell”,在这种情况下,请尝试将这行代码添加到每个内容页“Shell.NavBarIsVisible =“False”” (2认同)

Ced*_*ore 8

如果您使用的是 Shell(如果您在首次创建项目时选择了 Visual Studio 三个模板中的任何一个,那么您可能会这样做)NavigationPage.HasNavigationBar="False"将无法工作。尝试将这行代码添加到您的ContentPage每个

Shell.NavBarIsVisible="False"
Run Code Online (Sandbox Code Playgroud)