动作脚本3 setStyle不是函数

xnifntxz  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(147)

我正在尝试使用actionscript设计Flex 4 GridItem的样式,我已经尝试了以下方法:

<mx:VBox 
    height="878" width="1920"
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:s="library://ns.adobe.com/flex/spark" xmlns:local="*" creationComplete="addStyles()">

    <mx:Script>
        <![CDATA[

            public var selectedLot:String = "";

            private function addStyles():void
            {
                testBorder.setStyle("borderThickness", "3");
            }

但我得到以下错误:
setStyle is not a function.
我错过了什么吗?
GridItem位于重复控件内。
下面是我的GridItem:

<mx:GridItem id="testBorder" width="101" height="52.25" horizontalAlign="center" verticalAlign="middle" borderStyle="solid" borderColor="gray">
                                                                            <mx:Image source="assets/ruler-icon.png" />
                                                                            <s:Label text="{r.currentItem.sqft}" fontSize="10" color="#808080" fontFamily="Helvetica" />
                                                                        </mx:GridItem>
zbwhf8kr

zbwhf8kr1#

当使用重复项时,GridItem的id将不相同。要访问重复项中的任何项,必须指定与重复项对应的索引。
示例:数组由[“Audi”,“BMW”]组成,我们将此数组设置为repeater的dataProvider,然后要访问“Audi”的网格项并设置其样式,我们必须用途:

testBorder[0].setStyle("borderThickness", "3");

此外,需要考虑的一个重要点是,VBox“creationComplete”可以在repeater完全构建之前执行,因此,调用函数“addStyles”的最佳位置是在repeater的“repeatEnd”事件中,即(repeatEnd=“setTransactionPropertyType()”)。
希望这能有所帮助,
祝你好运

相关问题