我在 flex 4.5 中有一个带有 dateTimeAxis 水平轴的candleStickChart。
我希望有一个按钮,可以在该图表顶部画一条线。
我写了一个代码,每次单击按钮时,都会创建一个新的 CartesianDataCanvas。而不是我通过监听 MOUSE_DOWN、MOUSE_MOVE 和 MOUSE_UP 来绘制线条来绘制非常标准的线条。
在 MOUSE_DOWN 事件中,我创建了新的 CartesianDataCanvas,并按照以下代码所述更新 annotaionArray:(candles 是candleStickChart 的 id)
public function startDrawing(event:MouseEvent):void
{
canvas = new CartesianDataCanvas;
annotationArray.addItem(canvas);
candles.annotationElements = annotationArray.toArray();
x1 = this.mouseX;
y1 = this.mouseY;
addEventListener(MouseEvent.MOUSE_MOVE, updateLine);
addEventListener(MouseEvent.MOUSE_UP, stopDrawing);
}
我正在绘制的第一行中一切正常。
问题是在绘制第二条线时,第一条线消失了。当我调试 annotationArray 时,我可以看到它确实由 2 个 CartesianDataCanvas 对象组成,并且对于某些原因,它只显示最后一个。
有人知道如何解决此问题以一次显示数组中的所有 CartesianDataCanvas 吗?我对 flex 还很陌生,所以我可能会在这里错过一些基本的东西。也可以随意评论基础知识。
提前感谢拉维德