Xamarin.Forms之ToolbarItem

摘要:
以下屏幕截图显示了iOS和Android上导航栏中的ToolbarItem对象:ToolbarItem类定义以下属性:Order是一个ToolbarItemOrder枚举值,它确定ToolbarItem实例是显示在主菜单还是辅助菜单中。Priority是一个整数值,用于确定Page对象的ToolbarItems集合中项目的显示顺序。Text是确定ToolbarItem对象上显示文本的字符串。这些属性由BindableProperty对象支持,因此ToolbarItem实例可以成为数据绑定的目标。当Order属性设置为Primary时,ToolbarItem对象将出现在所有平台的主导航栏中。ToolbarItem对象的优先级高于页面标题Title,页面标题将被截断以为项目腾出空间。

介绍

Xamarin.Forms ToolbarItem类是一种特殊的按钮类型,可以添加到Page对象的ToolbarItems集合中,每个ToolbarItem对象将在应用程序的导航栏中显示为按钮,ToolbarItem实例可以具有一个图标,并显示为主菜单或辅助菜单项,ToolbarItem类从MenuItem继承。

以下屏幕截图显示了iOS和Android上导航栏中的ToolbarItem对象:

Xamarin.Forms之ToolbarItem第1张

ToolbarItem类定义以下属性:

  • Order是一个ToolbarItemOrder枚举值,它确定ToolbarItem实例是显示在主菜单还是辅助菜单中。
  • Priority是一个整数值,用于确定Page对象的ToolbarItems集合中项目的显示顺序。

ToolbarItem类从MenuItem类继承以下通常使用的属性:

  • Command是一个ICommand,它允许将用户动作(例如,手指轻击或单击)绑定到在视图模型上定义的命令。
  • CommandParameter是一个对象,它指定应传递给Command的参数。
  • IconImageSource是一个ImageSource值,该值确定ToolbarItem对象上的显示图标。
  • Text是确定ToolbarItem对象上显示文本的字符串。

这些属性由BindableProperty对象支持,因此ToolbarItem实例可以成为数据绑定的目标。

注:从ToolbarItem对象创建工具栏的另一种方法是将NavigationPage.TitleView附加属性设置为包含多个视图的布局类。 有关更多信息,请参见在导航栏中显示视图

创建一个ToolbarItem

可以在XAML中实例化ToolbarItem对象,可以设置Text和IconImageSource属性来确定按钮在导航栏中的显示方式。 下面的示例演示如何实例化具有一些公共属性集的ToolbarItem,并将其添加到ContentPage的ToolbarItems集合中:

<ContentPage.ToolbarItems>
    <ToolbarItem Text="Example Item"IconImageSource="example_icon.png"Order="Primary"Priority="0" />
</ContentPage.ToolbarItems>

定义按钮行为

ToolbarItem类从MenuItem类继承Clicked事件,可以将事件处理程序附加到Clicked事件,以响应XAML中对ToolbarItem实例的点击或单击:

<ToolbarItem ...
             Clicked="OnItemClicked" />

ToolbarItem对象还可以使用Command和CommandParameter属性来响应用户输入,而无需事件处理程序。 有关ICommand接口和MVVM数据绑定的更多信息,请参见Xamarin.Forms MenuItem MVVM行为

主要和次要菜单
ToolbarItemOrder枚举具有Default,Primary和Secondary值。

当Order属性设置为Primary时,ToolbarItem对象将出现在所有平台的主导航栏中。 ToolbarItem对象的优先级高于页面标题Title,页面标题将被截断以为项目腾出空间。 以下屏幕截图显示了iOS和Android上主菜单中的ToolbarItem对象:

Xamarin.Forms之ToolbarItem第2张

当Order属性设置为Secondary时,行为在平台之间会有所不同。 在UWP和Android上,“辅助项目”菜单显示为三个点,可以点击或单击这些点以在垂直列表中显示项目。 在iOS上,“辅助项目”菜单作为水平列表显示在导航栏下方。 以下屏幕截图显示了iOS和Android上的辅助菜单:

Xamarin.Forms之ToolbarItem第3张

注:在其Order属性设置为Secondary的ToolbarItem对象中,图标行为在各个平台之间不一致,避免在辅助菜单中显示的项目上设置IconImageSource属性

免责声明:文章转载自《Xamarin.Forms之ToolbarItem》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇TOMCAT原理详解及请求过程(转)Docker OpenvSwitch 应用部署下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C#-Xamarin的Android项目开发(二)——控件应用

相信我,这不是一篇吐槽文章。。。。 基础控件 Android的控件和控件样式非常特别,它是一种内联特别高的设计模式,换句话说,它是非常烂的设计。。。。 但在这种特别的关系里还是有一定的规律的,下面我们一起来看看控件的使用方式。  首先我们定义一个ImageButton,如下: <ImageButton android:src="http:/...

Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行

   (本文是基于老版本的VS和Xamarin,而VS2017已经集成了Xamarin,所以,本文已经过时,最新的Xamarin开发介绍请参见 使用 Xamarin开发手机聊天程序 。)    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的...

Xamarin.Android Binding 源自github第三方库的绑定(中级教学)aar文件

今天来个稍微复杂一点的源自github的android第三方库:CarouselView (今天我们依然不用在metadata.xml里面写代码,虽然在build时不会有error出现,但是会有烦人的warning出现,导致我们在dll里面找不到我们需要使用的class) 今天我们就是要解决这个问题,这个问题源自这个项目依赖的库 效果图: 今天我们的任务...

Xamarin发布XobotOS源码,C# 实现的Android系统 操作系统 ITeye资讯

Xamarin发布XobotOS源码,C# 实现的Android系统 - 操作系统 - ITeye资讯 Android的核心代码由数百万行Java代码构成,而XobotOS项目还需要和Android的新版本保持同步(事实上,XobotOS的工作从Android 2.x已经开始),工作量之巨大,只能通过机器自动转换来实现。该团队利用了一个自动转换Java到...

Xamarin.Android Binding 源自github第三方库的绑定(初级教学)aar文件

好记性不如烂笔头,所以就有了这篇文章.  先来个简单的Android第三方库的绑定,就是不依赖别的库的库,build时不会出现error的那种  所以我找了一个超级简单的第三方库----Loading,github地址:https://github.com/open-android/Loading 效果图: 1. vs2017安装  Xamarin.Gra...

Xamarin.Forms之页面及导航

参考链接: Xamarin. Forms 页面 Xamarin.Forms 导航 Xamarin.Forms 第04局:页面 Xamarin.Forms页面代表跨平台的移动应用程序屏幕。 下文描述的所有页面类型均来自Xamarin.Forms Page类。 这些视觉元素占据了整个或大部分屏幕。 Page对象代表iOS中的ViewController和Uni...