Элементы панели инструментов форм Xamarin появляются два раза на странице с вкладками - PullRequest
0 голосов
/ 07 августа 2020

Я добавил элемент панели инструментов с именем refre sh на странице с вкладками, ниже приведен код страницы с вкладками

<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:d="http://xamarin.com/schemas/2014/forms/design"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:Xapp;assembly=Xapp"
            mc:Ignorable="d"
            x:Class="Xapp.HomePage">
    
    <TabbedPage.ToolbarItems>
        <ToolbarItem x:Name="Refresh" Text="Refresh" />
    </TabbedPage.ToolbarItems>

    <TabbedPage.Children>
        <NavigationPage Title="report">
            <x:Arguments>
                <local:ReportPage>
                    <StackLayout>
                        <Label Text="In:" HorizontalOptions="FillAndExpand" />
                        <Label Text="{Binding CountIn}" FontSize="Medium" FontAttributes="Bold" />
                        <Label Text="Out:" HorizontalOptions="FillAndExpand" />
                        <Label Text="{Binding CountOut}" FontSize="Medium" FontAttributes="Bold" />
                        <Label Text="Date:" HorizontalOptions="FillAndExpand" />
                        <Label Text="{Binding createdon}" FontSize="Medium" FontAttributes="Bold" />
                    </StackLayout>
                </local:ReportPage>
            </x:Arguments>
        </NavigationPage>
 
        <NavigationPage Title="history">
            <x:Arguments>
                <local:HistoryPage />
            </x:Arguments>
        </NavigationPage>
    </TabbedPage.Children>
   
</TabbedPage>

проблема в том, что ссылка sh появляется на панели инструментов два раза как показано на изображении ниже:

Изображение ошибки

1 Ответ

1 голос
/ 07 августа 2020

Если MainPage приложения - это TabbedPage . Вам не нужно устанавливать его как NavigationPage . в приложении.

Измените код в App.Xaml.CS

public App()
{
   InitializeComponent();

   MainPage = new HomePage();
}

Обновить

Это не лучший дизайн для перехода с ContentPage на TabbedPage .

Поэтому измените код на

App.Current.MainPage = new HomePage();

вместо page.Navigation.PushAsync(new HomePage());

...