【发布时间】:2011-10-16 19:41:23
【问题描述】:
请注意此问题末尾提到的 WORKAROUND 备注。
基于基于字典的规范,我的一个类以编程方式创建Form。
将TextInput 或DatePicker 添加到FormItemss 可以正常工作。
不幸的是,以下代码只是创建了一个彩色矩形,而不是实际的选择器:
ti = new ColorPicker();
ColorPicker( ti ).selectedColor = TAColor( _spec[ key ].value ).color;
以后
formItem.addElement( ti );
表单嵌入在使用
呈现的TitleWindow 组件中
PopUpManager.addPopUp(...);
当添加到 TitleWindow 时,它会正确显示,在 Form->FormItem 内不是:
我无法想象,为什么选择器没有出现。你呢?
解决方法:
如果我将 ColorPicker 包装在 Group 中 一切正常:
ti = new Group();
Group( ti ).addElement( new ColorPicker() );
在这种情况下,ColorPicker 显示为可编辑。
不过,我很高兴知道我最初的解决方案存在什么问题。错误?
【问题讨论】:
-
这绝对是奇怪的。我尝试以编程方式将 ColorPicker 添加到 spark 表单中,它的功能正是您所解释的……尽管使用 MX 表单,它确实可以正常工作。我强烈怀疑 FocusManager。
-
正如您所解释的,DateField 或 DatePicker 可以完美运行。 ColorPicker 的源代码包含在 FlashBuilder 4.5.1 中。我不会修补它们。但如果我愿意,FlashBuilder 会重新编译并将它们添加到我的二进制文件中吗?
-
不,你有源代码,但它不是用来运行你的应用程序的,此外,你不想重新编译整个框架。我建议您扩展组件并尝试对其进行修补。我自己试过了,但找不到任何解决方法......
标签: actionscript-3 apache-flex actionscript flex4 flash-builder