将Spark元素添加到MX包装器的问题

时间:2012-06-14 13:01:30

标签: actionscript-3 flash flex flex4

所以我制作了一个我正在编写的代码的简化版本...... 我有一个自定义Flex组件,具有以下结构(基于s:HGroup):

<s:HGroup 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="100%" height="100%" >
<fx:Script>
    <![CDATA[           
        import spark.components.Button;                 
        public function addButton():void{               
            var myButton:Button = new Button(); 
            myButton.label = "New Button"; 
            buttonContent.addElement(myButton);
        }           
    ]]>
</fx:Script>        
<mx:HDividedBox width="100%" height="100%">
    <s:VGroup width="100%" height="100%" gap="5">
        <s:VGroup width="100%" height="100%">
        </s:VGroup>         
        <s:Group width="100%" height="100%">
            <s:Group left="5" top="15" bottom="5" right="5" id="buttonContent" />
        </s:Group>          
    </s:VGroup> 
    <s:VGroup width="100%" height="100%">
    </s:VGroup>
</mx:HDividedBox>

在此组件中,我使用了mx:HDividedBox组件,因为没有Spark替代方案......

因此,当我调用函数addButton()时,我的意图是将s:Button的自定义Spark DataGrid(在此示例中为使用代码的Spark Group)添加到id {{ 1}}。我注意到此按钮未添加到ID为buttonContent的{​​{1}}。

当我评论GroupbuttonContent添加了它应该...... 我想在mx:HDividedBoxSpark button显示格式之间存在一些冲突。

有没有人有同样的问题?或者知道可用的解决方案/解决方法? 欢迎任何提示!谢谢!

2 个答案:

答案 0 :(得分:0)

尝试添加&#34; id&#34;字段到HDividedBox。当父母过去没有身份证时,Flex遇到了无法识别元素的问题,这可能是一个回归问题?

(会在评论中添加,但我还没有访问权限。)

答案 1 :(得分:0)

你的例子可以在我的电脑上运行。 你使用哪个flex SDK版本? 您真的在真实代码中使用“100%”宽度和高度吗? (DividedBox对于大小很棘手,如果你没有将resizeToContent设置为true,那么如果内容发生变化,divideBox将不会自行调整大小)