Xaml 导航栏未出现在Xamarin中的DetailPage上

Xaml 导航栏未出现在Xamarin中的DetailPage上,xaml,xamarin.forms,cross-platform,navbar,Xaml,Xamarin.forms,Cross Platform,Navbar,我正在构建一个Xamarin跨平台应用程序 应用程序共有3页: <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="MSPL.Views.DetailGetData"> <Frame BackgroundColor="Whit

我正在构建一个Xamarin跨平台应用程序

应用程序共有3页:

<ContentPage 
         xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="MSPL.Views.DetailGetData">


<Frame  BackgroundColor="White" HasShadow="True" BorderColor="White" 
        HorizontalOptions="CenterAndExpand"  VerticalOptions="CenterAndExpand" 
        Padding="0" Margin="0" HeightRequest="250" WidthRequest="240">




    <Grid Padding="0" Margin="0" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" BackgroundColor="White" RowSpacing="0">
        <Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition Height="50"/>
            <RowDefinition Height="50"/>
            <RowDefinition Height="50"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="250"/>

        </Grid.ColumnDefinitions>


        <Image Source="ford.jpg" Grid.Column="0" Grid.Row="0" HorizontalOptions="FillAndExpand" Aspect="AspectFill" VerticalOptions="FillAndExpand" />

        <Label  Text="{Binding employee_name }" TextColor="#00477f" x:Name="empname" Grid.Column="0" Grid.Row="1" HorizontalOptions="Center"/>
        <Label  Text="{Binding employee_age }" TextColor="#00477f" x:Name="age" Grid.Column="0" Grid.Row="2" HorizontalOptions="Center"/>
        <Label  Text="{Binding employee_salary }" TextColor="#00477f" x:Name="salary" Grid.Column="0" Grid.Row="3" HorizontalOptions="Center"/>

    </Grid>
</Frame>
using MSPL.MenuItems;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace MSPL.Views
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class DetailGetData : ContentPage
    { 

    public GetData thisData;

    public DetailGetData()
    {

    }

    public DetailGetData (GetData _data)
    {
        NavigationPage.SetHasNavigationBar(this, true);
        InitializeComponent ();
        BindingList(_data);
        thisData = _data;
    }

    public void BindingList(GetData data)
    {
        empname.Text = data.employee_name;
        age.Text = data.employee_age;
        salary.Text = data.employee_salary;
    }     
}
}
主页
(带抽屉meun的母版详细信息页)

主页
(ContentPage)

DetailGetData
(ContentPage)

Homepage
在listview中显示项目列表,每个项目都是可选的,并在下一页中显示其详细信息,该页位于
DetailGetData

问题是当它在下一页显示详细信息时,
NavBar
没有出现,我不知道为什么要帮我解决这个问题

截图:

DetailGetData.xaml:

<ContentPage 
         xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="MSPL.Views.DetailGetData">


<Frame  BackgroundColor="White" HasShadow="True" BorderColor="White" 
        HorizontalOptions="CenterAndExpand"  VerticalOptions="CenterAndExpand" 
        Padding="0" Margin="0" HeightRequest="250" WidthRequest="240">




    <Grid Padding="0" Margin="0" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" BackgroundColor="White" RowSpacing="0">
        <Grid.RowDefinitions>
            <RowDefinition Height="100"/>
            <RowDefinition Height="50"/>
            <RowDefinition Height="50"/>
            <RowDefinition Height="50"/>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="250"/>

        </Grid.ColumnDefinitions>


        <Image Source="ford.jpg" Grid.Column="0" Grid.Row="0" HorizontalOptions="FillAndExpand" Aspect="AspectFill" VerticalOptions="FillAndExpand" />

        <Label  Text="{Binding employee_name }" TextColor="#00477f" x:Name="empname" Grid.Column="0" Grid.Row="1" HorizontalOptions="Center"/>
        <Label  Text="{Binding employee_age }" TextColor="#00477f" x:Name="age" Grid.Column="0" Grid.Row="2" HorizontalOptions="Center"/>
        <Label  Text="{Binding employee_salary }" TextColor="#00477f" x:Name="salary" Grid.Column="0" Grid.Row="3" HorizontalOptions="Center"/>

    </Grid>
</Frame>
using MSPL.MenuItems;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace MSPL.Views
{
    [XamlCompilation(XamlCompilationOptions.Compile)]
    public partial class DetailGetData : ContentPage
    { 

    public GetData thisData;

    public DetailGetData()
    {

    }

    public DetailGetData (GetData _data)
    {
        NavigationPage.SetHasNavigationBar(this, true);
        InitializeComponent ();
        BindingList(_data);
        thisData = _data;
    }

    public void BindingList(GetData data)
    {
        empname.Text = data.employee_name;
        age.Text = data.employee_age;
        salary.Text = data.employee_salary;
    }     
}
}

仅当您的页面包装在导航页面中时,导航栏才会显示。从你的主要细节来看,你会这样做

Detail = new NavigationPage(new HomePage));

你不觉得这和你这里的代码有关吗?在这里我不想粗鲁,但我认为理解一段代码的作用是非常有价值的,而不仅仅是复制和粘贴它,然后在出现问题时打开下一个问题。你的内容页是否包装在导航页中?@GeraldVersluis都是不同的问题,在这里不要粗鲁,stackoverflow是一个平台,您可以在这里提出与您的工作相关的问题,而您不了解这些问题,所以世界各地的人都可以帮助您@Jason否,如何在NavigationPage中包装它?在MasterDetail中,当您分配详细信息时,将其包装在NavigationPage中<代码>详细信息=新导航页面(新主页))