Xamarin Dropdown menu

本文详细介绍了Master Page的实现过程,包括菜单项模型定义、XAML界面布局、ListView的使用及页面跳转逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



1. menu item model 


public class MasterPageItem 
{
	public string Title { get; set; }


	public string IconSource { get; set; }


	public Type TargetType { get; set; }	
}




2. MasterPage 的view

<?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="PurpleHeart.MasterPage"
       Title="Menu"
			 Padding="0,40,0,0">
	<ContentPage.Content>
		<StackLayout VerticalOptions="FillAndExpand">
			<ListView x:Name="MyListView" VerticalOptions="FillAndExpand" SeparatorVisibility="None">
				<ListView.ItemTemplate>
					<DataTemplate>
						<ImageCell Text="{Binding Title}" ImageSource="{Binding IconSource}" />
					</DataTemplate>
				</ListView.ItemTemplate>
			</ListView>
		</StackLayout>
	</ContentPage.Content>
</ContentPage>


.cs

public partial class MasterPage : ContentPage
	{
		public ListView ListView { get { return MyListView; } }


		public MasterPage ()
		{
			InitializeComponent ();


		    var masterPageItems = new List<MasterPageItem>
		    {
		        new MasterPageItem
		        {
		            Title = "Shops",
		            IconSource = "shop.png",
		            TargetType = typeof (MyShops)
		        },
		        new MasterPageItem
		        {
		            Title = "Settings",
		            IconSource = "settings.png",
		            TargetType = typeof (SettingsPage)
		        },
		        new MasterPageItem
		        {
		            Title = "My Orders",
		            IconSource = "my_order.png",
		            TargetType = typeof (MyOrderPage)
		        },
                new MasterPageItem
                {
                    Title = "Logout",
                    IconSource = "home1.png",
                    TargetType = typeof (Login)
                }
            };


		    MyListView.ItemsSource = masterPageItems;
		}
	}



添加其余页面的XAML
...


3.运行结果


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值