apache-flex - 通过 MXML 扩展 MXML 自定义组件

标签 apache-flex flex4 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 修复了所有问题?

最佳答案

在 Flex 4 中,您必须覆盖“mxmlContent”属性 setter ,以便在父类中保留已定义的子项

此博客条目的评论中提供了这种覆盖的可能实现之一

快速提示 (Flex 4):再见模板 – 你好 mxmlContent

http://www.websector.de/blog/2009/10/02/quick-tip-flex-4-goodbye-templates-hello-mxmlcontent/

关于apache-flex - 通过 MXML 扩展 MXML 自定义组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4888155/

相关文章:

apache-flex - 当我定位到fp10时,为什么HTML模板在Flex Builder中消失了?

flex4 - 以编程方式启用/禁用 Flex 4 中的菜单栏按钮

flash - 使用 Flexbuilder 维护以 Flash 设计的 Web 应用程序是否可行

apache-flex - 如何在flex中找到已删除项目的索引

ruby-on-rails - 从 Ruby on Rails 应用程序将数据传递到 Flex 图表的最佳方法是什么?

apache-flex - 在 Flex 柱形图的顶部绘制一条虚线

actionscript-3 - Flex 中的标题窗口

apache-flex - 弹性性能注意事项

apache-flex - 如何使用mxml继承状态?

apache-flex - 弹性 4 : Build a Group with a background