我想做的事情:创建一个包含一些子项的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)或解决方法的各种线索(2,3)并且一直想知道某些事情是否发生了变化随着Flex 4的出现,或者如果我们仍然坚持使用这些变通方法,那么线程3中的最后一个回复似乎暗示了Flex 4修复它的全部内容?
答案 0 :(得分:11)
在Flex 4中,您必须覆盖“mxmlContent”属性设置器,以便在父类中保留已定义的子项
此博客条目的评论中提供了此类覆盖的一种可能实现
快速提示(Flex 4):再见模板 - 你好mxmlContent
http://www.websector.de/blog/2009/10/02/quick-tip-flex-4-goodbye-templates-hello-mxmlcontent/