一个完整的Flex菜单的例子包括了事件的处理
?
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" ><fx:Declarations><!--xml 方式将root不显示需要设置MenuBar的showRoot属性为false--><fx:XML format="e4x" id="myMenuData"><root ><menuitem label="MenuItem A" icon="myTopIcon"><menuitem label="SubMenuItem A-1" enabled="False" fun="copy"/><menuitem label="SubMenuItem A-2" fun="open"/></menuitem><menuitem label="MenuItem B" type="check" toggled="true"/><menuitem label="MenuItem C" type="check" toggled="false" icon="myTopIcon"/><menuitem type="separator"/> <menuitem label="MenuItem D" icon="myTopIcon"><menuitem label="SubMenuItem D-1" type="radio" groupName="one"/><menuitem label="SubMenuItem D-2" type="radio" groupName="one" toggled="true"/><menuitem label="SubMenuItem D-3" type="radio" groupName="one"/></menuitem></root></fx:XML><!--使用xmlList数据源方式--><fx:XMLList id="arr"><menuitem label="MenuItem A" icon="myTopIcon"><menuitem label="SubMenuItem A-1" enabled="False"/><menuitem label="SubMenuItem A-2" eventName="copy"/></menuitem><menuitem label="MenuItem B" type="check" toggled="true"/><menuitem label="MenuItem C" type="check" toggled="false" icon="myTopIcon"/><menuitem type="separator"/> <menuitem label="MenuItem D" icon="myTopIcon"><menuitem label="SubMenuItem D-1" type="radio" groupName="one"/><menuitem label="SubMenuItem D-2" type="radio" groupName="one" toggled="true"/><menuitem label="SubMenuItem D-3" type="radio" groupName="one"/></menuitem></fx:XMLList></fx:Declarations><fx:Script><![CDATA[import mx.controls.Alert;import mx.events.FlexEvent;import mx.events.MenuEvent;[Bindable]public var menuArray:Array = [{label:"menuI",children:[{label:"menuI-I",enabled:false},{label:"menuI-II",enabled:true,type:"normal"}]},{label:"menuII",toggled:false},{label:"menuIII",toggled:true},];private function menuHandler(evt:MenuEvent):void {this.callLater(this[evt.item.@fun]);}private function open():void {Alert.show("call open command");}private function copy():void {Alert.show("call copy command");}]]></fx:Script><mx:MenuBar id="myMenu" x="110" y="40" width="571" height="24" dataProvider="{myMenuData}" labelField="@label"itemClick="menuHandler(event)" showRoot="false" ></mx:MenuBar></s:Application>