我想在 flex 中设置按钮的图标。
默认语法如下。
myButton.setStyle("icon", iconClass);
iconClass 通常是一个嵌入式对象。
但我想做的是,使用标准Sprite 或 MovieClip(我在运行时找到)作为图标。
这可能吗?有人做过吗?
谢谢!
我想在 flex 中设置按钮的图标。
默认语法如下。
myButton.setStyle("icon", iconClass);
iconClass 通常是一个嵌入式对象。
但我想做的是,使用标准Sprite 或 MovieClip(我在运行时找到)作为图标。
这可能吗?有人做过吗?
谢谢!
这实际上是 Flex 框架在样式方面的一个致命缺陷。当 Flex 获取图标的样式值时,它假定它是类型的Class
,并且实例化的对象将是类型的DisplayObject
(或派生的)。mx:Image
测试样式的值是否属于类型DisplayObject
,如果是,则跳过它当前执行的构造步骤,这是对代码(哪些类喜欢为其源属性所做的)的一个微不足道的更改。
如果您不想更改 Flex 框架源,Ben 的解决方案是最好的解决方案。就个人而言,我最终会对特定组件进行猴子修补以接受实例化DisplayObjects
而不是Classes.
某些组件比其他组件更痛苦。
找到了可能的解决方案。http://blog.benstucki.net/?p=42之前会给出这个并报告。