我想在flex中设置按钮的图标。
默认语法如下。
myButton.setStyle("icon", iconClass);
和iconClass通常是一个嵌入对象。
但我想要做的是,使用标准的 Sprite或MovieClip (我在运行时找到)作为图标。
这可能吗?有没有人这样做过?
谢谢!
答案 0 :(得分:2)
这实际上是Flex在框架设计方面的致命缺陷。当Flex抓取图标的样式值时,它假定它是Class
类型,并且实例化的对象将是DisplayObject
类型(或派生的)。这是代码的一个微不足道的变化(像mx:Image
这样的类为它们的源属性做)来测试样式的值是否为DisplayObject
类型,如果是,只需跳过它当前的构造步骤进行。
如果您不想更改Flex框架源,Ben的解决方案是最好的。就个人而言,我最终修补特定组件以接受实例化的DisplayObjects
而不是Classes.
。有些组件比其他组件更难以修补。
Doug McCune explaining how to monkey patch the Flex framework.
答案 1 :(得分:-1)
找到了可能的解决方案。 http://blog.benstucki.net/?p=42将在此之前提出并报告。