0

actionscript 3を使用して、以下のサブメニュー項目を動的に変更する方法の例を誰かに教えてもらえますか?

<fx:Declarations>
<fx:XMLList id="menuData" xmlns="">
    <menuitem label="Column A">
            <menuitem label="Item A.1"/>
            <menuitem label="Item A.2"/>
    </menuitem>
    <menuitem label="Column B">
            <menuitem id="ItemB1" label="B.1"/>
            <menuitem type="separator"/>
            <menuitem label="Item B.2" type="check"/>
            <menuitem label="Item B.3" type="check"/>
            <menuitem id="myId" label="Item B.4">
                <menuitem label="SubItem B.4.1"/>
                <menuitem label="SubItem B.4.2"/>
            </menuitem>
    </menuitem>
        ...
</fx:XMLList>
<fx:Declarations>
...
<mx:MenuBar dataProvider="{menuData}" .../>

たとえば、サブメニュー項目B.4.1およびB.4.2を次のように置き換えたいとします。

<menuitem label="SubItem abc"/>
<menuitem label="SubItem def"/>
<menuitem label="SubItem ghi"/>
4

1 に答える 1

2

アイテムをそのラベルで取得するか、ID を指定してこれを使用して取得し、その children を置き換えます

E4Xを利用してこれを簡単に行うことができます:

var item:XMLList = menuData..menuitem.(attribute('label') == "Item B.4");

var subItems:XML = 
    <items>
        <menuitem label="SubItem abc"/>
        <menuitem label="SubItem def"/>
        <menuitem label="SubItem ghi"/>
    </items>;

item.setChildren(subItems.menuitem);

この件について詳しくは、 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/XML.htmlを参照してください。

于 2012-10-05T23:05:44.210 に答える