I created a menubar in my main.mxml file and it works just fine.
I next created a custom mxml component file where I moved the code, and
this is where I am having trouble.
My original code (while in my main.mxml) looked like this:
<mx:MenuBar labelField="@label" itemClick="menuHandler(event);"
id="menuBarButton" dataProvider="{menuBarCollection}"/>
with the following excerpted from the script block:
<mx:Script> <![CDATA[
import mx.collections.*;import mx.controls.Alert;import
mx.controls.MenuBar;import
mx.controls.menuClasses.IMenuBarItemRenderer;import
mx.controls.menuClasses.MenuBarItem;import mx.events.MenuEvent;
[Bindable] public var menuBarCollection:XMLListCollection;
public var menubarXML:XMLList = <>
<menuitem label="Menu bar" data="top"> <menuitem
label="Selection A" type="check" data="A"/>
<menuitem label="Selection B" type="check" data="B"/>
<menuitem label="Selection C" type="check" data="C"/>
</menuitem> </>;
// Event handler to initialize the MenuBar control.
public function initCollections():void {
menuBarCollection = new XMLListCollection(menubarXML); }
/// Event handler for the MenuBar control's itemClick event.
public function menuHandler(event:MenuEvent):void
{ // Don't open the Alert for a menu bar item that
// opens a popup submenu. if (event.it...@data != "top")
{ Alert.show("Label: " + event.it...@label + "\n" +
"Data: " + event.it...@data, "Clicked menu item"); }
}
]]></mx:Script>
I moved the above to its' own .mxml file and added the following line to
main.mxml header data:
xmlns:comp="components.*"
in order to access the new component file.
I now placed the following line in place of the green code above:
<comp:MenuBar />
I'm thinking that the problem lies in accessing the initCollections() or
the menuHandler(event:MenuEvent) functions, but I don't know if that is
the problem or, more importantly, how to get past it if it is...