I wonder if anyone has come across this issue and if so managed to solve it? I am working with Flex 3 (company policy is not yet to move to Flash 10 so upgrading is not an option) and have a number of charts all created with Actionscript rather than MXML. I catch various mouse events both on the chart background (for zooming) and on the chart items (for drilling down into data), and this functionality is important in the application.
All has been fine for some time, but I have just started using a Cartesian Data Canvas to draw some overlay lines (eg fixed y-value, or specific slope through origin, etc) on top of the chart. I have experimented with using both the backgroundElements (behind the data) and annotationElements (in front) collection but the same problems occur in each. They are:
1) Sometimes (not always) an exception is thrown somewhere in the innards of the suupplied charting classes (I think it is in the findDataPoints routine). In this case, apart from the fact I get a nasty system exception message that I cannot intercept gracefully, execution flow continues as expected.
2) Other times I do not get the exception, but I also don't get the click event on the chart item, as though the data canvas is swallowing the event (regardless of whether it is above or below the data layer).
There is a roughly similar bug report to the first of these (http://bugs.adobe.com/jira/browse/FLEXDMV-1586 - see also http://bugs.adobe.com/jira/browse/FLEXDMV-1740) - although not quite the same symptoms, it is close enough that I can see a connection (and the discussion area comments exmplore similar issues). There is an Adobe docs example of handling data events as well as drawing on the data canvas (in http://www.adobe.com/livedocs/flex/3/html/help.html?content=charts_eventsandeffects_13.htm l) but this is created in MXML and one comment specifically mentions using Actionscript to create rather than MXML.
Meanwhile I am trying other ways of working around the problem but without real success. Suggestions welcome... thanks in advance