Flex:为什么在mxml中设置scaleX / Y会影响组件大小,但在actionscript中设置它不会?

时间:2010-01-01 16:16:15

标签: flex mxml

我正在玩canvas标签中的scaleX / Y并注意到一些奇怪的行为。当我在mxml中设置scale时,画布的宽度和高度会相应调整。例如,如果我有这样的画布:

<mx:Canvas width="1000" height="1000" scaleX="0.1" scaleY="0.1" /> 

画布现在出现在屏幕上,宽度和高度都是100,如果在我的creationComplete回调中,我检查宽度和高度属性它们确实是100。

但是如果我做同样的事情,除了我从actionscript设置scaleX / Y属性,屏幕上的画布似乎有预期的宽度和高度100,但是当我检查画布的宽度和高度属性时仍然是以前的1000。

有没有人可以帮我理解发生了什么,并告诉我是否有任何方法可以刷新宽度和高度值以使它们正确?

谢谢,

克里斯

1 个答案:

答案 0 :(得分:0)

在Canvas的生命周期中,您在Actionscript中调整scaleX / Y属性是什么时候?然后,你在什么时候重新检查它们?

检查this white paper on Flex component lifecycles(PDF)以选择基于动作脚本的可视组件调整的正确时机可能会有所帮助。