0

我有一个尺寸为 600 X 400 的 TitleWindow。这里有一堆 VBox,我想占据它们所在标题窗口宽度的 80% 左右。但他们似乎没有注册 percent-width 属性。这就是其中一个 VBox 的样子

    <mx:VBox  styleName="vboxes">
.vboxes
        {
            cornerRadius:4;
            border-style:solid;
            percent-width:80;
            padding-left:5px;
            padding-right:5px;
            padding-bottom:5px;
            padding-top:5px;
        }

其他 CSS 属性,例如border-style 和corner-radius 似乎注册得很好,但是 percent-width 属性失败了。另一方面,在这种情况下,即使是宽度样式属性也会失败。

有人知道这里有什么问题吗?

4

2 回答 2

1

并非每个 Flex 属性都可以通过 CSS 获得。事实上,我想说的不是更多。据我所知,您不能通过 CSS 为任何组件设置组件的尺寸。您还为有效的属性名称使用了错误的属性名称。

请在此处查看 VBox 样式的 Adob​​e LiveDocs 文档。

于 2012-10-26T22:36:17.137 回答
1

坏消息,宽度/高度,percentWidth/percentHeight 不是 CSS 属性,而是 Flex 3 中的属性。

好消息,Flex 支持自定义 CSS,这意味着您可以定义自己的样式。这意味着您需要覆盖styleChanged您的方法VBox,例如:

override public function styleChanged(styleProp:String):void
{
    super.styleChanged(styleProp);

    if (styleProp == "percentWidth")
    {
        var val:Number = getStyle("percentWidth") as Number;
        //set percent width logic goes here
    }
}
于 2012-10-26T22:49:52.993 回答