SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, and now iOS Charting & Android Chart Components


I have a multichart MVVM Light based application with each chart having its own view model. In particulat I have an XYScatter chart with multiple series, each coloured differently. I need to select a point in one of the series with the left mouse button such that all that series points change and the index of the selected series is available in my view model. Simultaneously I need to have the groupRubberBandZoomModifier, groupXAxisDragModifier & groupYAxisDragModifier enabled.

I’ve found a couple of ways of doing this, overriding a modifier or EventToCommand directly on the mouse events and re-drawing the appropriate series, but I either don’t get the interrupt or the groupRubberBandZoomModifier doesn’t work and I can’t figure out what is happening.

Please could you elaborate on how the interrupts are handled in this situation.

Many Thanks

  • You must to post comments

Hello Dai,

I think you need something like our Series Selection example. Also you could take a look at Hit tets datapoints example. Also, FYI, SciChart doesn’t support individual points highlighting, but this is in our SciChart 2.0 Roadmap. Please, find more info in Highlighting individual points topic.

Regarding shared modifiers, you should use the attached MouseManager.MouseEventGroup=”[groupName]” on ModifierGroup rather than MouseEventGroup from ChartModifierBase, because the last is used internally and doesn’t influence on how modifiers work. If you need to share some particular modifiers, please, find the solution here: Share rollover between charts.

Please, don’t hesitate to ask if you have any more questions!

Best regards,

  • Dai
    Hi, Thanks,that helped me to sort the problem. I had looked at those posts but was still having strange interrup sequences using the rollovers which I think was caused by a combination of not applying the ReceiveHandledEvents property correctly and not having the chart data in ascending X value.While i'm here, in your User manual under "Performance tips and Tricks", you list a couple of ways of improving performance.1. Batch updates inside a sciChartSurface.SuspendUpdates() using block.2. If adding lots of DataSeries, use DataSeriesSet.AddRange() to prevent frequent recalculation of min, max values.What is the best way to achieve these improvements under the MVVM model where its not alwayd easy to access the SciChartSurface and the data is stored in the ChartSeriesViewModel?Many Thanks Dai
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.