我正在构建一个Xamarin跨平台应用程序!
App coantain 3页:
qazxsw poi(带抽屉菜单的MasterDetailPage)
MainPage
(ContentPage)
HomePage
(ContentPage)
DetailGetData
显示listview中的项目列表,每个项目都是可选择的,并在Homepage
的下一页显示其详细信息
问题是当它在下一页显示详细信息时DetailGetData
没有出现,我不知道为什么要帮助我完成这个!
ScreenShot:NavBar
DetailGetData.xaml:
https://i.stack.imgur.com/1csoB.png
DetailGetData.xaml.cs:
<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>
仅当您的页面包含在导航页面中时,才会显示导航栏。从你的MasterDetail你会做这样的事情
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;
}
}
}