2011-02-03 71 views
14

我想要做的是:創建一個帶有一些子元素的MXML組件,然後通過MXML擴展它以創建一個包含更多子元素的新組件,而不會丟失原始集合。 換句話說通過MXML擴展MXML自定義組件

創建bc.mxml

<?xml version="1.0" encoding="utf-8"?> 
<s:BorderContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300"> 

    <s:Button id="b1" label="button1"/> 
</s:BorderContainer> 

一個組件,然後將其擴展到一個單獨的組件mc.mxml

<?xml version="1.0" encoding="utf-8"?> 
<borderContainerX:bc xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:borderContainerX="borderContainerX.*"> 

    <s:Button id="b2" y="100" label="button2"/> 
</borderContainerX:bc> 

,並得到一個組分與2個按鈕。

我已經看到了這是怎麼要麼不可能,各個線程(1)或變通辦法來做到這一點(23),如果事情已經使用Flex 4的出現改變或一直在想,如果我們仍然堅持這些解決方法線程3中的最後一個回覆似乎暗示在Flex 4修復這一切?

+0

爲什麼不使用MXML和行動的混合腳本?在第二個組件的createChildren()方法中創建第二個按鈕? – JeffryHouser 2011-02-03 15:57:43

+3

當然。我只是感到驚訝,純粹的MXML仍然無法正常工作。老實說,通過mxml設置組件非常好,似乎很奇怪,這是不可能的。 – 2011-02-04 02:02:11

回答