Apache flex 如何在Actionscript中以编程方式将函数绑定到组件?
我试图以编程的方式为CategoryAxis提供我自己的labelFunction,但我完全被难住了。通常的方法是在MXML文件中执行,但我想在Actionscript文件中执行 通常的做法是:Apache flex 如何在Actionscript中以编程方式将函数绑定到组件?,apache-flex,actionscript-3,actionscript,flex3,Apache Flex,Actionscript 3,Actionscript,Flex3,我试图以编程的方式为CategoryAxis提供我自己的labelFunction,但我完全被难住了。通常的方法是在MXML文件中执行,但我想在Actionscript文件中执行 通常的做法是: <mx:Script> <![CDATA[ private function categoryAxis_labelFunc(item:Object, prevValue:Object, axis:
<mx:Script>
<![CDATA[
private function categoryAxis_labelFunc(item:Object,
prevValue:Object,
axis:CategoryAxis,
categoryItem:Object):String {
return "Some String";
}
]]>
</mx:Script>
<mx:CategoryAxis labelFunction="categoryAxis_labelFunc" />
这个问题引起了我的好奇心,所以我开始尝试 CategoryAxis上的labelFunction的签名与我在这里看到的稍有不同。对我来说,这是有效的:
function(item:Object, field:String, index:int, pct:Number)
我不是Flex charts向导,所以也许你知道一些我不知道的事情,但是当我在这件事上使用这个签名时
public function FauxDateAxis() {
super();
labelFunction = function(item:Object, field:String, index:int, pct:Number) {
return "string";
}
}
它在Flex3 Pro中对我有效
我看到您提供的代码示例非常类似(我试着看看是否可以找到您提供的签名示例)。我看到其他人也在使用这个签名
这不是一个很好的答案;我不记得图表API的这一部分在Flex 2和Flex 3之间发生了变化,但也许这篇文章可以帮助您解决您的问题。好吧,我对您的问题感到困惑,因为它对我来说绝对有效 我从Adobe Flex站点获取了CategoryAxis的示例应用程序: ,逐字添加了您的代码(除了添加包和导入语句),并且它的工作方式与您希望的一样 在示例中,我修改了行
<mx:CategoryAxis id="haxis" categoryField="Date" title="Date"/>
阅读
<local:FauxDateAxis id="haxis" categoryField="Date" title="Date"/>
它在每列的底部显示“另一个字符串”
如果有必要的话,我正在使用Flex3
祝你好运,
Randy Stegbauer我只是想,我不认为这会有什么不同,但可能会将标签功能范围更改为受保护而不是私有???显示的签名正是CategoryAxis文档中指定的签名。兰迪·斯蒂格鲍尔
<local:FauxDateAxis id="haxis" categoryField="Date" title="Date"/>