在Flex中,如何将Fxg文件用作MenuBar Icon属性?

| 我有点担心。我开始尝试使用已经以FXG格式制作的自定义图标制作MenuBar控件。 我的项目文件夹中的“ assets.graphics.icons \”中有3个FXG文件: src /资产/图形/图标/MenuIcon.fxg src /资产/图形/图标/ItemAIcon.fxg src /资产/图形/图标/ItemBIcon.fxg 阅读以下两个链接和一堆网页之后。 http://blog.flexexamples.com/2010/01/29/displaying-icons-in-an-mx-menu bar-control-in-flex / http://livedocs.adobe.com/flex/3/html/help.html?content=menucontrols_3 .html 我最终得到了这段代码:
<?xml version=\"1.0\" encoding=\"utf-8\"?>

<!-- src/myMenuBarApplication.mxml -->



<mx:Application name=\"myMenuBarApplication\"
                xmlns:mx=\"http://www.adobe.com/2006/mxml\"
                xmlns:components=\"assets.graphics.icons.*\">

     <mx:MenuBar id=\"myMenuBar\" iconField=\"@icon\" labelField=\"@label\" showRoot=\"true\">
          <fx:XMLList>

               <menuitem label=\"Menu\" icon=\"\">
                    <menuitem label=\"Item A\" icon=\"\">
                         <menuitem label=\"SubItem A1\"/>
                         <menuitem label=\"SubItem A2\"/>
                    </menuitem>
                    <menuitem label=\"Item B\" icon=\"\">
                         <menuitem label=\"SubItem B1\"/>
                         <menuitem label=\"SubItem B2\"/>
                    </menuitem>
               </menuitem>

          </fx:XMLList>
     </mx:MenuBar>


</mx:Application>
我了解到您可以使用以下代码在添加了标签的任何图像文件中进行操作
<mx:Script>
    <![CDATA[
        [Embed(\"assets/graphics/images/MenuIcon.png\")]
        public const MenuIconConst:Class;
    ]]>
</mx:Script>
将常量名称添加到MenuBar控件的icon属性,如下所示: 所以我试图做到这一点没有运气:
<mx:Script>
    <![CDATA[
        import assets.graphics.icons.*;
        [Bindable]
        public var MenuIconVar:Class = new MenuIcon() as Class;
        // MenuIcon is one of my FXG files inside assets.graphics.icons
    ]]>
</mx:Script>
我发现了一个不同的网页,您必须制作一个库来嵌入Fxg文件,然后将它们用作类名或类似的名称,但我对此不太了解。 现实情况是,我一直在尝试将fxg组件中的任何一个以许多不同的方式放入MenuBar的icon属性中,但是没有运气。 我真的希望有人已经做了这样的事情。 我将不胜感激任何帮助。     
已邀请:
实际上,如果您像对待任何MXML类一样对待它,那么实际上就会容易得多。 因此,“ \ assets / graphics / images / MenuIcon.fxg \”将成为asset.graphics.images.MenuIcon。由于字符串不是类,因此您将需要使用绑定表达式将类分配给您的icon属性。
<menuitem label=\"Item A\" icon=\"{assets.graphics.images.MenuIcon}\">
     <menuitem label=\"SubItem A1\"/>
     <menuitem label=\"SubItem A2\"/>
</menuitem>
您可能还需要先导入该类...我想不起来了。     

要回复问题请先登录注册