Как не отображать значок на панели навигации с помощью xamarin.forms?

Я хочу, чтобы в моем приложении была нижняя панель навигации. Но когда я использую страницу с вкладками, содержимое, отображаемое в приложении, должно быть одной из вкладок на панели навигации.

<TabbedPage>

    <TabbedPage.Children>

        <!--<NavigationPage Title="test" IsVisible="False">
            <x:Arguments>
            <ContentPage>
                <Label Text="Not display this on nav bar but show its content page"/>
            </ContentPage>
            </x:Arguments>
        </NavigationPage>-->

        <NavigationPage Title="{x:Static Resource:AppResource.PaginaInicialTitulo}" Icon="homeBlack.png">
            <x:Arguments>
                <views2:ComoTeSentesPage/>
            </x:Arguments>
        </NavigationPage>

        <NavigationPage Title="{x:Static Resource:AppResource.CalendarioTitulo}" Icon="calendarBlack.png" BarBackgroundColor="White">
            <x:Arguments>
                <views:PaginaInicial/>
            </x:Arguments>
        </NavigationPage>

        <NavigationPage Title="{x:Static Resource:AppResource.ConviteTitulo}" Icon="phoneBlack.png">
            <x:Arguments>
                <views:PaginaInicial/>
            </x:Arguments>
        </NavigationPage>
    </TabbedPage.Children>
</TabbedPage>

Я хочу отображать другое содержимое для страницы вместо содержимого одной из выбранных вкладок. Таким образом, панель навигации может быть видна на каждой странице приложения, а содержимое каждой страницы не будет связано с содержимым вкладок.

РЕДАКТИРОВАТЬ: на этом изображении показана моя цель. Есть нижняя панель навигации, но ни одна из вкладок не выбрана, и отображаемое содержимое не связано ни с одной из вкладок на панели навигации. введите здесь описание изображения Но в моем проекте содержимое, отображаемое на странице, всегда связано с одной из вкладок на панели навигации.  Отображаемый контент относится к одному из основных элементов навигации.  bar


person Kelve    schedule 14.04.2019    source источник
comment
Я не уверен, что вы написали в спешке, у вас проблемы с английским (хотя с точки зрения грамматики он кажется очень хорошим) или чем-то еще, но приведенный выше текст не имеет значения для других разработчиков, поэтому вам следует попробуйте написать еще раз, если ожидаете ответов ... извините.   -  person Ivan Ičin    schedule 15.04.2019
comment
@ Иваничин, не извиняйся, я тоже ничего не понял. Что это за контент, отображаемый в приложении, должен быть на одной из вкладок на панели навигации.? как содержимое страницы может быть вкладкой? а почему вкладки находятся на навигационной панели? Так много вопросов   -  person Ali123    schedule 15.04.2019
comment
Я добавил правку. Можете ли вы, ребята, проверьте, мне действительно нужна помощь. И да, мой английский не очень хорош, извините за это.   -  person Kelve    schedule 15.04.2019
comment
@Kelve - я еще ничего не понимаю, но все же могу сказать вам ответ - Xamarin.Forms покрывают около 5% возможностей пользовательского интерфейса нативных платформ. Не думайте, что с Xamarin.Forms вы легко сможете сделать все, что только сможете. Если вы хотите использовать остальные 95%, ответ почти всегда один - либо вам придется написать собственный рендерер (обычно слишком много работы, чтобы кто-то делал это за вас), либо вы найдете готовый компонент, который делает это (может случиться так, что если кто-то знает, он порекомендует это).   -  person Ivan Ičin    schedule 15.04.2019
comment
На первом изображении вы выбрали последнюю вкладку. Вы имеете в виду поведение навигации? На нижней панели навигации каждая вкладка владеет страницей содержимого, и хотите ли вы перейти на новую страницу с этих страниц содержимого?   -  person Jack Hua    schedule 16.04.2019
comment
@ JackHua-MSFT Да, но эта последняя вкладка выбирается всегда, когда я просматриваю страницы приложения. Остальные вкладки выбираются, только если я нажимаю на них. Я хочу, чтобы ни одна из вкладок не была выбрана, и отображать на странице другой контент, не связанный с вкладками.   -  person Kelve    schedule 16.04.2019
comment
Хорошо, все еще меня смущает. Я отправлю ответ с помощью навигации + вкладки, и вы можете проверить, хотите ли вы.   -  person Jack Hua    schedule 16.04.2019
comment
Можете ли вы проверить навигация внутри вкладки, если это то, что вы хотите? Примеры здесь: образцы   -  person Jack Hua    schedule 16.04.2019
comment
В этом примере содержимое, отображаемое на странице, относится к одной из 3 вкладок. Например: когда выбрана вкладка «Сегодня», отображается страница с сегодняшним содержанием. Если сегодня не выбрано, будет выбрана одна из двух других вкладок и, следовательно, будет отображена ее страница содержимого.   -  person Kelve    schedule 16.04.2019
comment
Я хотел бы отобразить контент, который не связан ни с одной из вкладок, но все еще имеет доступное меню нижней панели вкладок.   -  person Kelve    schedule 16.04.2019
comment
Хотя вы можете перейти на новую страницу с сегодняшней страницы содержимого. Новая страница - это все, что вы хотите, и нижнее меню панели вкладок все еще там.   -  person Jack Hua    schedule 16.04.2019
comment
Я пробовал, и нижняя полоса всегда пропадала. потому что я перешел на ContentPage. И вкладки доступны в TabbedPage.   -  person Kelve    schedule 16.04.2019
comment
Что ж, думаю, я знаю, что вы хотите, я сообщу вам завтра.   -  person Jack Hua    schedule 16.04.2019
comment
Хорошо. спасибо за терпение!   -  person Kelve    schedule 16.04.2019


Ответы (1)


Пишу простую демонстрационную базу на navigation-inside-a-tab семпле.

  1. Я делаю нижнюю часть панели вкладок, добавляя:

    xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
    android:TabbedPage.IsSwipePagingEnabled="False"
    android:TabbedPage.ToolbarPlacement="Bottom"
    
  2. Сегодня я изменил страницу на карусельную страницу.

  3. Я также добавил поведение навигации в TodayPage.

Я загружаю его на Github, и вы можете скачать: tabbedPage-Naviagtation-CarousePage

Вот результат:

результат

person Jack Hua    schedule 17.04.2019
comment
Привет. Извините за задержку с ответом. Я сосредоточился на других частях приложения и оставил это напоследок. Так что я думаю, что это не то, что я хотел. В нижней панели навигации есть 3 пункта меню, если я нажму на один из них, я перейду на 1 страницу. - person Kelve; 26.04.2019
comment
Но у меня также есть гамбургер-меню, и страницы каждого пункта в этом гамбургер-меню не связаны ни с одним из пунктов меню на панели навигации. Панель навигации должна работать как ярлыки. В этом случае, когда я нажимаю на 1 пункт в меню гамбургера, я попадаю на какую-то страницу, и нижняя панель навигации исчезает, потому что это страница содержимого. Я хочу, чтобы панель навигации была всегда видна, но отображаемый контент был связан с меню Hamburguer. Надеюсь, теперь вы понимаете ... - person Kelve; 26.04.2019
comment
@Kelve Хорошо, я обновил свой код, и вы можете проверить, хотите ли вы. - person Jack Hua; 29.04.2019
comment
Спасибо, @Jack Hua, именно этого я и хотел! Я даже удивлен, что ему даже не понадобился специальный рендерер: D. В любом случае, еще раз спасибо за терпение и за помощь. - person Kelve; 29.04.2019
comment
Последний небольшой вопрос: D. Как я могу вернуться к нормальной странице содержимого после нажатия элемента вкладки? - person Kelve; 29.04.2019
comment
@Kelve Извини, я не понял твою точку зрения. Что такое нормальная страница с контентом? - person Jack Hua; 30.04.2019
comment
Контент, изначально отображаемый на каждой вкладке страницы с вкладками - person Kelve; 30.04.2019
comment
@Kelve Он не будет отображать исходное содержимое, если вы выполняете такие операции, как навигация, модальный режим ... Вы можете попробовать вызвать Navigation.PopToRootAsync, чтобы отобразить исходное содержимое. - person Jack Hua; 30.04.2019
comment
Можно ли обнаружить нажатие на tabbedPage? Если да, то это будет несложно. Нажмите на какую-нибудь вкладку на tabbedPage - person Kelve; 30.04.2019
comment
@Kelve Detect щелкните tabbedPage, чтобы настроить пользовательский рендерер. Посмотрите здесь. - person Jack Hua; 30.04.2019
comment
В пользовательском рендерере мне нужно вызвать PopToRoot, или я должен вызвать эту функцию tabReselected в модели просмотра или в коде? Извини, я новичок. - person Kelve; 30.04.2019
comment
@Kelve Это зависит от вашей ситуации, и я думаю, что этого сложно добиться. Вы можете попробовать. - person Jack Hua; 30.04.2019