【问题标题】:Changing 'top' property at runtime in Flex在 Flex 运行时更改“顶部”属性
【发布时间】:2010-02-09 19:44:57
【问题描述】:

在follow Canvas中,如何在运行时更改属性top

<canvas top="10"/>

我试过了:

<canvas top="{ topVariable }"/>

但绑定似乎没有生效。如何实现?

【问题讨论】:

    标签: apache-flex actionscript-3 mxml


    【解决方案1】:

    如果这是 Flex 3,那么 myCanvas.setStyle("top", 10); (top 是一种样式,不是 ActionScript 属性)。

    【讨论】:

      【解决方案2】:

      您的示例必须缺少某些内容。我用最高值绑定构建了这个快速应用程序,它工作得很好。确保您没有设置 X 和 Y(或实际上只是 Y)属性,因为它们会覆盖顶部样式。

      <?xml version="1.0" encoding="utf-8"?>
      <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();" borderStyle="none" borderColor="#000000" borderThickness="5">
          <mx:HSlider id="slider" x="10" y="463" minimum="0" maximum="100" snapInterval="10" enabled="true"/>
          <mx:Canvas width="200" height="200" borderStyle="solid" borderColor="#000000" borderThickness="3" top="{slider.value}">
          </mx:Canvas>
      
      </mx:Application>
      

      【讨论】:

        【解决方案3】:

        听起来您的Canvas 嵌入在已经处理布局的东西中,因此将忽略top,例如HBoxVBox。如果是这种情况,请尝试在您的容器上设置填充或将您的 Canvas 嵌套在另一个 Canvas 中,这将利用 top 设置。

        【讨论】:

          【解决方案4】:

          正确的做法是使用 SetStyle 方法(如上图 CoreyDotCom 所示) 做吧:

          myCanvas.setStyle('top',[your own value])
          

          但是(总是有一个“但是”)小心使用这种方式,注意这条线在性能问题上可能非常昂贵,它启动了对象的渲染生命周期,这当然可以使它所有的孩子也这样做等等。

          希望对你有帮助...

          【讨论】:

            猜你喜欢
            • 2013-02-14
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-09-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多