当前位置: 首页 > news >正文

Xamarin Dropdown menu



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.运行结果


相关文章:

  • [IE 技巧] 显示/隐藏IE 的菜单/工具栏
  • azure 机器学习算法分类
  • AutoFac 简单好用的IOC
  • 使用Xamarin Forms+XLabs 完成 Camara access
  • 服务器部署MVC API 遇到IIS 403.14 错误
  • 利用udev、sys动态创建linux设备结点
  • 创建第一个azure hadoop insight
  • ARM linux系统调用的实现原理
  • 嵌入式linux应用开发之:初识Qt
  • 内核栈的使用
  • IIS 7 ‘Handler XXX has a bad module XXX in its module list’
  • C# 使用 doggleReport 生成pdf报表
  • 在nand flash上实现JFFS2根文件文件系统
  • window API判断系统是否为闲置状态
  • 机器学习 -- 基本数学概念总结
  • [译]CSS 居中(Center)方法大合集
  • angular组件开发
  • bearychat的java client
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • css属性的继承、初识值、计算值、当前值、应用值
  • js写一个简单的选项卡
  • Linux Process Manage
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Sequelize 中文文档 v4 - Getting started - 入门
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 记录一下第一次使用npm
  • 技术:超级实用的电脑小技巧
  • 简析gRPC client 连接管理
  • 什么是Javascript函数节流?
  • 一道闭包题引发的思考
  • ###C语言程序设计-----C语言学习(3)#
  • #if 1...#endif
  • (arch)linux 转换文件编码格式
  • (C++17) optional的使用
  • (C++17) std算法之执行策略 execution
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Forward) Music Player: From UI Proposal to Code
  • (ZT)一个美国文科博士的YardLife
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (三)模仿学习-Action数据的模仿
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (原創) 物件導向與老子思想 (OO)
  • (转)大型网站的系统架构
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .DFS.
  • .net core 6 redis操作类
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET Framework杂记
  • .NET Micro Framework初体验(二)
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net 设置默认首页