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 (https://www.scichart.com/customer-case-study-blueshift-one-system/) 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?
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:
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.
Please login first to submit.