Скрыть заголовок Страница навигации с вкладками Xamarin / FreshMvvm - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь скрыть заголовок моей страницы TabbedNavigation.

    public class NavigationContainerNames
{
    public const string AuthenticationContainer = "AuthenticationContainer";
    public const string MainContainer = "MainContainer";
}

public partial class App : Xamarin.Forms.Application
{
    public App()
    {
        InitializeComponent();

        var maintTabNav = new FreshTabbedFONavigationContainer("Aerogrow", NavigationContainerNames.MainContainer);
        maintTabNav.FirstTabbedPage.On<Xamarin.Forms.PlatformConfiguration.Android>().SetToolbarPlacement(ToolbarPlacement.Bottom);

        maintTabNav.AddTab<AerogrowPageModel>("Aerogrow", "");
        maintTabNav.AddTab<ControlsPageModel>("Controls", "");
        maintTabNav.AddTab<AccountPageModel>("Account", "");

        var LoginPage = FreshPageModelResolver.ResolvePageModel<RegisterPageModel>();
        var LoginNav = new FreshNavigationContainer(LoginPage, NavigationContainerNames.AuthenticationContainer);

        if (DataHelpers.DataBaseHelpers.GetCurrentUser() != null)
            MainPage = maintTabNav;
        else
            MainPage = LoginNav;
    }

Я создаю свою навигационную страницу FreshTabbed и добавляю в нее дочерние элементы, но в каждой вкладке есть общий заголовок, который я не могу скрыть (с надписью «Aerogrow»).

Если кто-то знает, как это скрыть, пожалуйста :)

примечание: я пытался скрыть через XAML, но он не работает

NavigationPage.HasNavigationBar="false"

Here is is the header

Ответы [ 2 ]

2 голосов
/ 23 мая 2019

Скрыть панель навигации первой страницы с вкладками с помощью:

var maintTabNav = new FreshTabbedFONavigationContainer("Aerogrow", NavigationContainerNames.MainContainer);
maintTabNav.FirstTabbedPage.On<Xamarin.Forms.PlatformConfiguration.Android>().SetToolbarPlacement(ToolbarPlacement.Bottom);
NavigationPage.SetHasNavigationBar(maintTabNav.FirstTabbedPage, false);

Если вы не хотите видеть панель навигации на каждой странице, сделайте вашу страницу наследуемой от базовой страницы. Затем установите свойство на базовой странице:

public class BasePage : ContentPage
{
    public BasePage()
    {
        NavigationPage.SetHasNavigationBar(this, false);
    }
}
0 голосов
/ 23 мая 2019

Использование контейнера FreshTabbedNavigationContainer вместо FreshTabbedFONavigationContainer:

var maintTabNav = new FreshTabbedNavigationContainer(NavigationContainerNames.MainContainer);
maintTabNav.On<Xamarin.Forms.PlatformConfiguration.Android>().SetToolbarPlacement(ToolbarPlacement.Bottom);

Keep NavigationPage.HasNavigationBar = "False" на страницах ваших вкладок:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="App1.ControlsPage"
             NavigationPage.HasNavigationBar="False">
    <ContentPage.Content>
        <StackLayout>
            <Label Text="Welcome to Xamarin.Forms!"
                VerticalOptions="CenterAndExpand" 
                HorizontalOptions="CenterAndExpand" />
        </StackLayout>
    </ContentPage.Content>
</ContentPage>
...