2.7.提供菜单数据

2.7.1. 问题
我需要通过数据提供器来创建一个菜单栏
2.7.2. 解决办法
为mxml 中定已的MenuBar 控件的dataProvider 属性分配一个Collection 对象(例如
ArrayCollection 或者XMLListCollection)。
2.7.3. 讨论
在MXMl中使用数据来填充MenuBar控件的最简单办法,就是在控件内部创建一个XMLList的实例。
+展开
-XML
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal">

<mx:MenuBar labelField="@label">
<mx:XMLList>
<menuitem label="File">
<menuitem label="New"/>
<menuitem label="Open"/>
<menuitem label="Closeenabled="false"/>
</menuitem>
<menuitem label="Edit"/>
<menuitem label="Source"/>
<menuitem label="View">
<menuitem label="50%"
type="radiogroupName="one"/>

<menuitem label="100%"
type="radiogroupName="one"
selected="true"/>

<menuitem label="150%"
type="radiogroupName="one"/>

</menuitem>
</mx:XMLList>
</mx:MenuBar>
</mx:Application>

因为dataProvider 属性是MenuBar 控件的默认属性,所以这个XMLList 对象可以作为<mx:MenuBar>的直接子级。该XMLList 对象的顶级节点和MenuBar 上的按钮相符合,而menuitem 节点则匹配每个顶级按钮下面的菜单项的层级。这些节点可以被命名成任意名字,例如,我们可以用subnode 来替代menuitem。节点的属性,会有一些特殊的意思并且会影响显示效果以及菜单的用户交互动作。这些属性如下所列。

enabled
指定用户是否可以选中该菜单项。

groupName
适用于当菜单项是单选框类型的按钮时,指定单选框组的名字用来给菜单项分组。

icon
指定一个图像素材的类标识符。

label
指定菜单项的显示文本。注意当dataProvider 采用E4X 格式的时候,就如上面的代码范例,MenuBar 的labelFiele 属性必须被明确指定。即使dataProvider 中已经有了label 属性。

toggled
当菜单项是复选框或者单选框类型时,指定是否被选中。

type
指定如下菜单类型,例如:check,radio,separator。

加支付宝好友偷能量挖...


评论(0)网络
阅读(97)喜欢(0)flash/flex/fcs/AIR