我想做什么:创建一个M
XML组件与一些孩子,然后通过M
XML扩展它创建一个新的组件与更多的孩子,而不会丢失原始集.
换一种说法
换一种说法
创建一个组件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修复了所有?
解决方法
在Flex 4中,您将必须覆盖您的“mxmlContent”属性设置器,以便在父类中保留已定义的子项
在这个博客条目的评论中提出了这种覆盖的可能实现之一
快速提示(Flex 4):再见模板 – hello mxmlContent
http://www.websector.de/blog/2009/10/02/quick-tip-flex-4-goodbye-templates-hello-mxmlcontent/