在MXMl中使用数据来填充MenuBar控件的最简单办法,就是在控件内部创建一个XMLList
的实例。
Code View:
<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="Close" enabled="false"/>
</menuitem>
<menuitem label="Edit"/>
<menuitem label="Source"/>
<menuitem label="View">
<menuitem label="50%"
type="radio" groupName="one"/>
<menuitem label="100%"
type="radio" groupName="one"
selected="true"/>
<menuitem label="150%"
type="radio" groupName="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。