var image:Image = new Image();
image.property_1 = "abcdefg";
它无法编译,因为Flash构建器说:
Description Resource Path Location Type
1119: Access of possibly undefined property jdkfjds through a reference with static type mx.controls:Image.
adm.mxml /adm/src Line 209 Flex Problem
我该怎么做?或者我需要扩展Image类?这很无聊。
答案 0 :(得分:4)
如果您知道需要添加的所有属性,并且它们不会(经常)更改,这将有效。
package mypackage
{
import mx.controls.Image;
public class ExtendedImage extends Image
{
public function ExtendedImage()
{
super();
}
//option 1
private var prop1:String = "";
public function get property_1():String
{
return prop1;
}
public function set property_1(val:String):void
{
prop1 = val;
}
//option 2
public var property_2:String = "";
}
}
答案 1 :(得分:3)
Image
未声明为dynamic class,因此您无法动态添加属性。
从Image
导出并使用 dynamic
关键字扩展课程:
package mypackage
{
import mx.controls.Image;
public dynamic class DynamicImage extends Image {}
}
现在这将有效:
import mypackage.DynamicImage;
var image:DynamicImage = new DynamicImage();
image.property_1 = "abcdefg";
答案 2 :(得分:0)
但是你可以为你的图像使用容器并在那里添加额外的属性;或者使用带有图像作为键和属性作为值的字典。