The code below works fine except for the fact that the menu of the PopUpButton does not close. When I comment out the CairngormEventDispatcher, the PopUpButton closes. So I assume that there is something wrong with dispatching an event in a handler??
<?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"> <mx:Script> <![CDATA[ import mx.events.MenuEvent; import mx.controls.Menu; import com.adobe.cairngorm.control.CairngormEventDispatcher; import com.faindu.base.control.event.GetPageEvent; import mx.core.UIComponent; [Bindable] public var pageTree:XMLList; private var myMenu:Menu; private function itemClickHandler(e:MenuEvent):void { BelowPages.label = "new label"; BelowPages.close(); myMenu.selectedIndex = e.index; var event : GetPageEvent = new GetPageEvent([EMAIL PROTECTED]); CairngormEventDispatcher.getInstance().dispatchEvent( event ); } private function populateButton(allpages:XMLList) : UIComponent { allpages = allpages.below.*; myMenu = new Menu(); myMenu.dataProvider = allpages; myMenu.labelField = "@label"; myMenu.addEventListener("itemClick", itemClickHandler); return myMenu; } ]]> </mx:Script> <mx:PopUpButton id="BelowPages" popUp="{populateButton(pageTree)}"/> </mx:HBox>

