Pre loader

SciChart MVVM limitations

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums


I’ve created an application with MVVM in mind and managed to create a simple, working graph with SciChart that displays the data needed.
I’ve also seen some features ( which we’ll be planning on implementing, designing it to fit our own needs of course.

I’m wondering if there are some limitations (and perhaps improvements in later releases), that we could keep in mind while continuing to plan and develop our application with SciChart and MVVM?

  • You must to post comments
Best Answer

Hi Janne,

Thank you for your enquiry about SciChart! It’s not clear from your question if you’ve encountered any limitations so far and are looking for solutions, or, if its a more general question about what other people’s experiences have been like using SciChart in an MVVM application.

I’m going to answer assuming its a general question:

To create a chart using SciChart has some or all of the following elements:

  • SciChartSurface (the chart)
  • XAxis, YAxis (including programmatic zooming control)
  • RenderableSeries (the visual series)
  • DataSeries (the non-visual or data series)
  • ChartModifiers (interactivity, zoom, pan)
  • Annotations

SciChart allows you to control all of these from a ViewModel, or from code-behind as you wish, but there are a number of different ways to implement each one. The way you choose depends on your preferences and needs. I have some more links for you to look through below to help you design your application

Programmatic Zooming from ViewModels

This is possible by binding to Axis.VisibleRange. You can also bind several axes to synchronise multiple charts. You may zoom to extents by calling DataSeries.InvalidateParentSurface(RangeMode.ZoomToFit) or have finer grained control over zooming using the ViewportManager.

Binding to Data in ViewModels

There are several ways to separate your View (RenderableSeries) and ViewModel (DataSeries) in this article on Changing RenderableSeries type at Runtime.

New to SciChart v4, we have introduced the SeriesBinding Markup Extension which allows true MVVM manipulation of RenderableSeries.

Arranging Annotations in ViewModels

There is a best practices article for annotations in MVVM here.

Controlling ChartModifiers from ViewModels

ChartModifiers may be declared in the View, and enabled via the Enabled property. To dynamically add or remove ChartModifiers we recommend creating an Attached Behaviour.

I hope that answers your questions. If you have any feedback, please add it in the comments.

Best regards,

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.