Xaml 导航栏未出现在Xamarin中的DetailPage上
我正在构建一个Xamarin跨平台应用程序 应用程序共有3页: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
<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中<代码>详细信息=新导航页面(新主页))代码>。