2011-02-07 7 views
0

は:Flex 3で選択可能なメニューバー内の子を持つメニュー項目を作成するにはどうすればよいですか?私はのようなXMLデータソースを持っているメニューバーを持っている場合は

<mx:XMLList id="menuList"> 
    <menuitem label="Parent1"> 
     <menuitem label="Child1"> 
      <menuitem label="SubChild1" /> 
      <menuitem label="SubChild2" /> 
     </menuitem> 
     <menuitem label="Child2" /> 
    </menuitem> 
    <menuitem label="Parent2" /> 
</mx:XMLList> 

CHILD1をクリックすると、それは子供を持つにもかかわらず、クリックイベントが発生しますように、どのように私はそれを行うことができますか?

答えて

0

メニューにMouseEvent.CLICKリスナーを追加および削除することができますMenuEvent.ITEM_CLICK listener.Sampleコード:

var myMenu:Menu=Menu.createMenu(null, myMenuData, false); 
      myMenu.labelField="@label" 
      // Add an event listener for the itemClick event. 
      //myMenu.addEventListener(MenuEvent.ITEM_CLICK, itemClickInfo); 
      myMenu.addEventListener(MouseEvent.CLICK, itemMouseClickInfo); 
      // Show the menu. 
      myMenu.show(225, 10); 

itemMouseClickInfo

// The event listener for the mouse click event. 
     private function itemMouseClickInfo(event:MouseEvent):void 
     { 
      ta1.text="event.type: " + event.type; 
      var menuItems:Menu=Menu(event.currentTarget); 
      menuItems.hide(); 
     /* ta1.text+="\nevent.index: " + event.index; 
      ta1.text+="\nItem label: " + [email protected] 
      ta1.text+="\nItem selected: " + [email protected]; 
     ta1.text+= "\nItem type: " + [email protected]; */ 
     }