Apache flex 如何在运行时强制Flex图表重画

Apache flex 如何在运行时强制Flex图表重画,apache-flex,flex3,Apache Flex,Flex3,我有一个柱状图,它使用标签函数来格式化垂直轴。我添加了一个按钮,希望在单击按钮时重新绘制轴(或图表)。现在,图表轴仅在最初添加到视图状态时才呈现OK 我有一个函数,可以在最初创建图表后设置各种属性。在那里,我尝试了所有这些: myChart.verticalAxis.dataChanged() myChart.validateNow() myChart.validateDisplayList() myChart.validateProperties() myChart.invalidateDis

我有一个柱状图,它使用标签函数来格式化垂直轴。我添加了一个按钮,希望在单击按钮时重新绘制轴(或图表)。现在,图表轴仅在最初添加到视图状态时才呈现OK

我有一个函数,可以在最初创建图表后设置各种属性。在那里,我尝试了所有这些:

myChart.verticalAxis.dataChanged()
myChart.validateNow()
myChart.validateDisplayList()
myChart.validateProperties()
myChart.invalidateDisplayList()
myChart.invalidateProperties()

但它们不会更改轴的格式。我该怎么做

轴的MXML代码为:

标签功能是:

    private function vAxisFormat(labelValue:Number, previousValue:Object, axis:IAxis):String {
        axis.getLabelEstimate();
        if (_scale == 1){
            return currencyFormatter.format(labelValue/_scale); 
        }else {
            return numberFormatter.format(labelValue/_scale);
        }   
    }

尝试更新数据提供程序。这会重新绘制图形,因此所有组件都会重新绘制

例如:

数组集合 arr.refresh()

XML char.dataprovider=xmlData


regars

如果您在该按钮上重新指定“verticalAxis.labelFunction=vAxisFormat”,则正常情况下,它将工作。