有没有办法真正扩展Flex组件?

时间:2010-07-23 12:02:29

标签: flex actionscript-3 inheritance mxml

我需要创建Flex组件的扩展,这显然意味着无论何时使用父组件都应该能够使用新组件。但我没有看到这样做的方式,Flex提供了两种扩展组件的方法,通过定义扩展父组件的AS类或创建使用父组件作为根元素的MXML文件;在这两种情况下,我都不能使用嵌套元素来配置子项,就像我为父项一样。

电子。 -G。

package components {
import mx.controls.AdvancedDataGrid;

public class FixedDataGrid extends AdvancedDataGrid {
    public function FixedDataGrid() {
        super();
    }
}
}

这是有效的MXML

 <mx:AdvancedDataGrid>

...

    <mx:columns>

...

这不是有效的MXML

<mx:FixedDataGrid>
...
<mx:columns>
...

它似乎不是有效的 is-a 关系。

2 个答案:

答案 0 :(得分:3)

您的FixedDataGrid与mx组件在同一名称空间中不存在...

您需要指定正确的命名空间才能使其合法。

<mx:Application xmlns:components="components.*" ... >
<components:FixedDataGrid>
    ....

你正在做的mxml相当于在组件包中声明你的组件然后抱怨你不能将它引用为mx.controls.FixedDataGrid

答案 1 :(得分:1)