在flex中创建自定义组件时使用图像
问题描述:
对于基于AIR的应用程序,我尝试基于具有图像的画布创建自定义组件(如下所示)。在flex中创建自定义组件时使用图像
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100" height="100" cornerRadius="5" borderStyle="solid" borderThickness="2" dropShadowEnabled="true" borderColor="#EDEDE8" dropShadowColor="#dddddd" shadowDistance="5" shadowDirection="center">
<mx:Script>
<![CDATA[
public var path:String = "";
]]>
</mx:Script>
<mx:Image id="tileImage" maintainAspectRatio="false" buttonMode="true" useHandCursor="true" source="{path}" width="100%" x="0" height="100%" y="0"/>
<mx:Canvas left="3" top="3" bottom="3" right="3" borderStyle="solid" cornerRadius="5" borderThickness="1" borderColor="#EDEDE8" alpha="0.75">
</mx:Canvas>
我绑定图像与公众变量路径源。当我试图将这个组件放置在我的主要mxml文件(如下图)中并为其提供“路径”时,我无法在自定义组件中看到任何图像加载。它仍然是空白的。
var component:MyCustComponent = new MyCustComponent();
component.path = 'path/to/image.jpg';
addChild(component);
由于周围的工作,我想一个creationComplete听众在我的自定义组件添加到画布,用来给titleImage.source = this.path。这使它正常工作,但它不能帮助我,如果我必须不断改变图像或使用一些异步调用获取图像的路径。所以,我想知道是否有其他解决方案来解决这个问题。 谢谢!
答
看起来你只是缺少路径的可绑定元标记。为您的路径声明尝试:
[Bindable]
public var path:String;
感谢好友!那一个工作:) – Goje87 2010-08-26 08:14:15