如果我想要做这样的事情:
<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是根)手柄?
要从MXML文件中访问由根节点指定的组件,你可以用this
关键字。 一个MXML内的任何代码的上下文中运行this
对象-你可以也省略关键字,如果你没有通过任何同名的局部变量。
this.width = myWidth;
this.height = myHeight;
关于第二个问题:
比方说,你的MXML文件的名称是MyCanvas.mxml
。 你会添加此使用另一个组件<ns:MyCanvas/>
标签。 您可以设置有一个ID,并使用该访问它。
<ns:MyCanvas id="myCanvas"/>
内部脚本:
myCanvas.width = whatever;
你并不需要,如果你让myWidth和myHeight绑定,并设置宽度=“{} myWidth”和高度=“{} 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的任何更改将更新的画布大小