【问题标题】:Actionscript 3 setStyle is not a functionActionscript 3 setStyle 不是一个函数
【发布时间】:2017-08-18 19:58:03
【问题描述】:

我正在尝试使用 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>

【问题讨论】:

    标签: actionscript-3 flash apache-flex actionscript flex4


    【解决方案1】:

    使用中继器时,GridItem 的 id 将不同。要访问中继器中的任何项目,您必须指定与重复项目相对应的索引。

    示例:数组由 ["Audi", "BMW"] 组成,我们将此数组设置为您的中继器的 dataProvider,然后访问“Audi”的网格项并设置其样式,我们必须使用:

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

    另外,需要考虑的重要一点,VBox“creationComplete”可以在转发器完全构建之前执行,因此,调用函数“addStyles”的最佳位置是在转发器的“repeatEnd”事件中,即(repeatEnd= "setTransactionPropertyType()")。

    希望对你有帮助,

    祝你好运。

    【讨论】:

      猜你喜欢
      • 2011-04-03
      • 2015-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      相关资源
      最近更新 更多