Xamarin.Forms Hello word

本文介绍如何在XMD1项目中使用MasterDetailPage进行布局,并通过MenuPage与ListView实现导航功能。文章详细展示了如何定义菜单页面MenuPage,设置背景颜色及内容,并通过ItemTemplate绑定显示数据。
  1. 创建项目

XMD1右键-》添加-》新建项目

MDPage:MasterDetailPage

主窗体,导航与明细的布局窗体。

指定MenuPage.xaml 作为Master

<?xml version="1.0" encoding="utf-8" ?>

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"

x:Class="XMD1.Page.MenuPage"

Title="MenTitle"

BackgroundColor="#53ba9d">

<ContentPage.BackgroundColor>

<OnPlatform x:TypeArguments="Color"

Android="#F5F5F5" />

</ContentPage.BackgroundColor>

<ContentPage.Content>

<ListView x:Name="EmployeeView">

<ListView.ItemTemplate>

<DataTemplate>

<TextCell Text="{Binding DisplayName}" />

</DataTemplate>

</ListView.ItemTemplate>

</ListView>

</ContentPage.Content>

</ContentPage>

指定ListView作为导航窗体

添加行选择事件

//行选择事件

this.EmployeeView.ItemSelected += (sender, e) =>

{

if (EmployeeView.SelectedItem == null)

return;

 

root.NavigateAsync(((PageTypeGroup)e.SelectedItem).DisplayName);//((HomeMenuItem)e.SelectedItem).MenuType

};

MDPage 事件NavigateAsync初始化窗体事件

/// <summary>

/// 导航窗体

/// </summary>

/// <param name="displayName"></param>

internal async void NavigateAsync(string displayName)

{

NavigationPage newPage;

if (!Pages.Any(p => p.Key.Equals(displayName)))

{

switch (displayName)

{

case "DataGridPage":

var tpage = new NavigationPage(new DataGridPage());

Pages.Add(displayName, tpage);

break;

}

}

newPage = Pages[displayName];

if (newPage == null)

return;

 

//pop to root for Windows Phone

if (Detail != null && Device.OS == TargetPlatform.WinPhone)

{

await Detail.Navigation.PopToRootAsync();

}

 

Detail = newPage;

 

if (Device.Idiom != TargetIdiom.Tablet)

IsPresented = false;

}

转载于:https://www.cnblogs.com/sephiroth-wzc/p/5374282.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值