如果我想做这样的事情:
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalScrollPolicy="off"
verticalScrollPolicy="off"
xmlns:view="com.foo.bar.view.*"
>
<mx:Script>
<![CDATA[
myWidth = 100;
myHeight = 200;
myCanvas.width = myWidth;
myCanvas.height = myHeight;
]]>
</mx:Script>
</mx:Canvas>
我如何获得myCanvas(我希望myCanvas成为root用户)的句柄?
答案 0 :(得分:3)
要从mxml文件中访问根节点指定的组件,可以使用this
关键字。 mxml中的任何代码都在this
对象的上下文中运行 - 如果您没有任何同名的局部变量,也可以省略该关键字。
this.width = myWidth;
this.height = myHeight;
关于你的第二个问题:
假设您的mxml文件名称为MyCanvas.mxml
。您可以使用<ns:MyCanvas/>
标记将其添加到其他组件。您可以在那里设置ID并使用它进行访问。
<ns:MyCanvas id="myCanvas"/>
内幕:
myCanvas.width = whatever;
答案 1 :(得分:1)
如果你使myWidth和myHeight可绑定,你不需要在Canvas声明中设置width =“{myWidth}”和height =“{myHeight}”。
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalScrollPolicy="off"
verticalScrollPolicy="off"
width="{myWidth}"
height="{myHeight}"
xmlns:view="com.foo.bar.view.*" >
<mx:Script>
<![CDATA[
[Bindable]
private var myWidth:Number;
[Bindable]
private var myHeight:Number;
]]>
</mx:Script>
</mx:Canvas>
myWidth和myHeight的任何更改都会更新Canvas的大小