Flex - 在MXML中对VBox进行子类化以用作基本组件,需要建议

时间:2011-09-19 15:18:43

标签: flex flex4 flash-builder mxml

我想扩展VBox以添加一些“默认值”和一些样板代码(这里我们称之为“VBoxSub”),这个想法是应用程序中的“页面”会扩展这个VBox子类。

这似乎工作得很好,除了扩展“VBoxSub”的最终类在Flash Builder的设计模式下不继承VBoxSub中设置的宽度/高度设置。当组件为空时切换到设计模式时,它显示的是一个小的普通盒,而不是具有默认VBox css背景颜色的较大的1000x700工作区。这里发生了什么? (是的,我尝试刷新/重新启动设计视图。)

我希望每个组件都具有完全相同的大小,以便在布局UI时我确切地知道我需要使用多少空间 - 最好是而不用来复制/将width和height属性粘贴到每个darn mxml文件中(如果w / h发生变化,则不得不担心更新每个属性!)。 (使用Flash Builder 4,SDK 4.1)

我尝试过这样做才能让它发挥作用,但在设计视图中仍然没有好处:

override protected function measure():void {
    super.measure();

    measuredWidth=1000;
    measuredMinWidth=1000;
    measuredHeight=700;
    measuredMinHeight=700;
}

我是否真的需要在应用程序中的每个组件“页面”中硬编码宽度/高度?

1 个答案:

答案 0 :(得分:0)

Flash Builder 不会在设计模式下执行Actionscript 。由于AS代码未执行,因此无法在设计模式下测量VBox。

在这种情况下,您需要使用声明性MXML。