SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, and now iOS Charting & Android Chart Components
Please use the forums below to ask questions about SciChart. Take a moment to read our Question asking guidelines on how to ask a good question and our support policy. We also have a tag=SciChart on Stackoverflow.com where you can earn rep for your questions!
Please note: SciChart team will only answer questions from customers with active support subscriptions. Expired support questions will be ignored. If your support status shows incorrectly, contact us and we will be glad to help.
I have been working on an application (with an internal library for building plots, and an adapter that creates the SciChart ViewModel implementation). All of my code makes heavy use of .Net 4.5’s Async API.
What I’ve noticed is that invoking the constructor on a RenderableSeries without the Dispatcher triggers the STA InvalidOperationException in PresentationCore. (Note that this is all happening during ViewModel construction, and before any changes have been made to the UI).
Is there any guidance on which parts of the SciCharts API require use of the UI thread?
RenderableSeries are indeed FrameworkElements and need to be instantiated on the UI thread. I would suggest do this create a factory class which you can inject into your ViewModels via dependency injection. The factory should also have the application dispatcher (given at startup, or in a bootstrapper if you are using a framework such as Prism). That way your viewmodels work at runtime and remain testable at test-time.
By the way if you want to see the base classes for types in the SciChart library, take a look at our online documentation which details the class hierarchy.
Hope this helps!
Please login first to submit.