fre*_*ust 14 apache-flex mxml flex4
我想做的事情:创建一个包含一些子节点的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>
Run Code Online (Sandbox Code Playgroud)
然后将其扩展到单独的组件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>
Run Code Online (Sandbox Code Playgroud)
并获得一个带有2个按钮的组件.
我已经看到了这是怎么不同的线程要么不可能,(1)或变通办法来做到这一点(2,3)如果事情已经使用Flex 4的出现改变,或者如果我们仍然坚持这些一直想知道解决方案3线程中的最后一个回复似乎提示Flex 4修复它?
Jab*_*nda 11
在Flex 4中,您必须覆盖"mxmlContent"属性setter,以便在父类中保留已定义的子级
此博客条目的评论中提供了此类覆盖的可能实现之一
快速提示(Flex 4):再见模板 - 你好mxmlContent
http://www.websector.de/blog/2009/10/02/quick-tip-flex-4-goodbye-templates-hello-mxmlcontent/