2017-04-04 59 views
2

我想在我的应用程序的主开始页面上隐藏导航栏。但要在第二页上显示标题和返回按钮。这是我做的,但它也出现在主页上。在主页上隐藏导航栏 - Xamarin表格

在App.xaml.cs,我用这个:

MainPage = new NavigationPage(new MainPage()); 

在相应的登录页,我创造了这个:

private async void LoginPage_Clicked(object sender, EventArgs e) 
    { 
     await Navigation.PushAsync(new LoginPage()); 
    } 

当用户会点击它会采取第二页面(登录页面)。

另外,如何更改导航栏的颜色?

回答

5

在页面的构造函数中,您要隐藏导航栏,请使用以下代码。

Xamarin.Forms.NavigationPage.SetHasNavigationBar(this, false); 

要更改NavigationBar的颜色,可以这样做。

new NavigationPage(new MainPage()) 
{ 
    BarBackgroundColor = Color.FromHex("#000000"), 
    BarTextColor = Color.White 
}; 
+0

与Android一样,它可以发生,我可以只从文件更改颜色? –

+0

在Android中,您可以通过主题使用 @ color/theme_color并根据需要进行更改 –

+0

您可以将样式添加到资源字典中以样式化组件。看看[Xamarin全球风格](https://developer.xamarin.com/guides/xamarin-forms/user-interface/styles/application/)如何正确地完成跨平台风格 –

-1

在App.cs使用

MainPage = new YourProjectNamespace.MainPage(); 

这将隐藏您的导航栏第一页

+0

如果您显示第一页没有包装的导航页面,您将如何在第二页上显示导航栏? –

2

上作为奖励,你还可以通过XAML将其删除:

<ContentPage ...namespaces... NavigationPage.HasNavigationBar="False">... 
+1

根据需要,甚至可以使用绑定来实时隐藏或显示导航栏。 – sme