Flex 3 cookbook翻译: 2.7 为菜单提供数据

2.7 为菜单提供数据

2.7.1 问题

data provider 生成菜单栏

2.7.2 解答

MXMLMenuBar 控件的 dataProvider 属性指定一个 ArrayCollectonXMLListCollection 之类的 Collection 对象。

Recipe 2.7.3. Discussion

2.7.3 讨论

用数据生成一个 MenuBar 控件最简单的方式是用 MXML 在控件内部生成一个 XMLList 类型的实例。

 

<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 也能作为子节点。不过,节点的属性有特别的意思,并影响显示的效果和菜单交互。这些属性列表如下:

enabled

指定用户时候能选择这个菜单项。

groupName

当类型是 radio 时适用。具有相同 groupName 的菜单项作为一组 radio

icon

指定一个图片资源的类标识符。

label

指定菜单项显示的内容。注意当 dataProviderE4X 格式,就像前面的例子, MenuBarlabelField 属性必须明确指定,即使在 XMLList 里有 label 属性。

toggled

指定 checkradio 类型的菜单项是否是选中状态。

type

指定菜单的类型(三种选项): check, radio, separator 。其中 separator 是默认的,也就是不需要指定。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值