我有一个在 Flex 中的不同图形之间切换的应用程序。每个图表都是它自己的状态。在 MXML 中,我进行了设置,以便在状态更改时图像的源发生更改:
<s:Image id="chartImage"
source.all="{ callImages.all }"
source.classA="{ callImages.classB }"
source.classB="{ callImages.classA }"
/>
我有成功更改图像的按钮。但是,我有一个小错误,因为在该行之后
this.currentState = chartName;
我的代码预计图形图像源会被更改,但是我假设,直到函数结束和屏幕更新之后,对 s:Image 元素的实际更改才会发生。因此,当它抓取chartImage.height 时,它会使用我刚刚离开的状态中的旧的。
有没有办法让它得到新的图像(因此它的尺寸),所以我可以在下一行用这些尺寸进行计算?至此,chartImage.height 返回状态改变前的高度,但在函数执行后就不同了。
我可以在几分之一秒后运行一个计时器,然后在那里执行这些行,它会起作用。但是,我宁愿告诉它渲染屏幕,然后继续我的代码。这可能吗?只是看起来更优雅。