RSS Feed
SciChart iOS with Metal /Android / Xamarin v2.5 released!
Posted by Julia Skorobogata on 12 March 2019 03:07 PM

What’s New in SciChart iOS /Android /Xamarin v 2.5?

There is a large number of improvements and bug fixes made in SciChart iOS/ Android / Xamarin v2.5. It is recommended for all users of SciChart v2.2 to update to the latest version! Please see more information below.

New Features:
  • Metal Support for iOS Charts

SciChart iOS and Xamarin.iOS is now the first hardware-accelerated iOS Chart Control to support the Metal graphics API by Apple, which will replace OpenGL ES in future versions of iOS. By default, our charts render using OpenGL ES, but you can switch to Metal with the following line of code:

// in Swift:
surface.renderSurface = SCIMetalRenderSurface(frame: surface.bounds)

// in Objective-C:
self.surface.renderSurface = [[SCIMetalRenderSurface alloc] initWithFrame:self.surface.bounds];

//in Xamarin:
Surface.RenderSurface = new SCIMetalRenderSurface(Surface.Bounds);

Please note this code should be called after initialization of SCIChartSurface object, before creating any axis, series, or styles.

Also, it is advisable to detect if the current iOS version and the current device has the full support of all the Metal features used in SCIChart using the code below:

// in Swift
if SCIChartSurface.isMetalSupported {
   surface.renderSurface = SCIMetalRenderSurface(frame: surface.bounds)

// in Objective-C
if (SCIChartSurface.isMetalSupported) {
   self.surface.renderSurface = [[SCIMetalRenderSurface alloc] initWithFrame:self.surface.bounds];

//in Xamarin
if (SCIChartSurfaceView.IsMetalSupported) {
   Surface.RenderSurface = new SCIMetalRenderSurface(Surface.Bounds);

This will ensure compatibility on older phones. (Link to Documentation).

We would recommend testing on multiple devices before deploying any apps to the App Store with the new Metal render surface. The OpenGL surface is fundamentally the same and considered the best choice for production apps at this time. Finally, we would really appreciate your feedback on the new Metal renderer.

  • New iOS and Android Documentation

The documentation for iOS Charts and Android Charts now has a new stylish theme, so it is easier and more pleasant to read. We have also taken care of making it easier to find just what you need via Google using Title tags and structured data. It is responsive and works great on all devices including tablets and mobile. There have been many small corrections and improvements made to the documentation and there is more to come!

Bug Fixes for iOS:
  1. Updated: bindings of SCIMetalRenderSurface to have a proper constructor
  2. Fixed: append and FIFO test cases for SciChart
  3. Fixed: memory leak on OpenGLRenderSurface deallocation Made SCIChartSurfaceViewBase.renderSurfafe property strong to avoid warning
  4. Added: allowing to draw outside of the main scene/end scene sequence + create the regular polygon texture once they are required + comment on the pre-creation;
  5. Fixed yellow triangles in point markers example: new drawing command for raw triangles
  6. Fixed: errata in swift example for scatter series
  7. Fixed: global angle for AquireRegularPolygonSprite
  8. Fixed: brush initialization
  9. Fixed: styling/theming examples
  10. Fixed: Multi-stack chart: use a projection matrix that doesn’t clip in screen space; gradient texture areaways horizontal ( width x 1 ); gradient texture need clamp sampler; approximate the output to match OpenGL by modulating the alpha of the gradient colors.
  11. Fixed: columns don’t appear in swift examples due to long* conversion to SCIGenericType
  12. Fixed SWIFT: heatmap chart example
  13. Fixed for Metal: crash with logarithmic axis where there were no major ticks
  14. Fixed: heatmap red spots issue
  15. Fix for Metal: broken line colors ( fade should be on alpha )
  16. Fixed for Metal: gaps between lines, new metal shaders, also AA lines should only be fading with Alpha on its edges, this way we can evade the 1.5 hackexp fixes for lines in metal
  17. Fixed for Metal: spline line examples
  18. Fixed for Metal: setting wrong screen size to global shader content
  19. Fixed: the multi-surface example, by making sure the correct width and height are passed down
  20. Fixed for Metal: ellipses example crash
  21. Fixed: black screen while app in the background
  22. Added display link to metalRenderSurface to bring back animations
  23. Removed obsolete methods on renderSurface Metal
  24. Multi sampling 4x enabled and 2x multi sampling
  25. Fixed for Metal: drawing of grid-lines\bands with properly saving\restoring matrix state
  26. Fixed: SetDrawingArea command
  27. Fixed for Metal:  errata in SetClipRct and updated Translate code
  28. Fixed for Metal: scaling for lines
  29. Fixed: memory leak in HeatMap chart examples
  30. Fix for Metal: lines thickness to match with OpenGL
  31. Fixed: black bar at the bottom (iPhone X)
  32. Fixed for Metal: Colormap
  33. SCIOS-792: fixed SCICustomAnnotation can’t be selected; Also improved moving it and scaling using available anchor points
  34. SCIOS-791: fixed Pie\Donut series segmentSpacing is ignored
  35. Fixed for Metal: HeatMap Example
  36. Fixed for Metal: Using Point Marker example
  37. Updated forMetal:  Xamarin.iOS bindings to work with Metal integration
  38. Added: new example that shows how to leave rollover on-screen
  39. Fixed: incorrect type of RenderSurface interface
  40. Fixed: Custom Legend Placement
  41. Fixed:  updating renderableSeriesAreaBorder / renderableSeriesAreaFill styles on SCIChartSurface
  42. Fixed: incorrect Call of formatXCursorValue
  43. SCIOS-609: fixed making one stacked in the group invisible makes the whole group invisible
  44. SCIOS-712: fixed cursor modifier shouldn’t show labels on hidden axes
  45. SCIOS-711: fixed ZoomPanModifier shouldn’t trigger inertia if velocity is very low (very gentle swipe)
  46. Fixed and enabled displaying of ARC -related warnings
  47. Fixed: crash on “show source code” feature in example demo
  48. Fixed: Tooltip on RolloverModifier appear outside the Chart area
  49. Improved: SCIRolloverModifier layout to fit chart bounds whenever it’s possible
  50. Updated: pen style in Xamarin.iOS
  51. Added: missing ctor which isn’t inherited from protocol in Xamarin.iOS
  52. Updated: heatmap examples in Xamarin.iOS
Bug Fixes for Android: 
  1. SC_DROID-654: extended need to draw check in AxisTitleRendererComponent to cover the case when axis title is an empty string;
  2. SC_DROID-653: fixed incorrect values displayed by axis tooltips in CursorModifier when using custom layout axis layout such as vertically stacked YAxes;
  3. SC_DROID-652: added handling of the vertical chart for Horizontal/VerticalLineAnnotation;
  4. Fixed: incorrect work of AnnotationCreationModifier when the chart is vertical
  5. SC_DROID-649: replaced invalidateElement() on invalidateLayout() when modifying series collection because series affect layout of pie/donut chart
  6. SC_DROID-650: modified rendering of pie and donut charts – added code which splits arc into two parts to ensure that it will be rendered;
  7. Fixed missing jar name in path to support-annotations; updated to Android 27; updated instructions;
  8. Fixed incorrect parameter in scroll() implementation for axis
  9. SC_DROID-612: fixed incorrect hit test results if xAxis has flipped coordinates – added isCoordinatesSortedAscending() flag for render pass data which is used for findIndex() call with xCoordinates;
  10. Fixed: wrong ColumnPaletteProvider, when colors changed during scrolling of chart;
  11. SC_DROID-607: updated AxisTitleRendererComponent to correctly handle RTL title;
  12. SC_DROID-599: changed LazyGLTexture which should prevent possible NullPointerException in case of any race conditions
  13. SC_DROID-598: added notification about changes of axis layout when settings axis title orientation and placement;
  14. SC_DROID-501: refactored AxisTickLabelsRendererComponent to correctly render multiline tick labels;
  15. Fixed: issue with aapt2-proto library when building a project on new PC where there is no cached version of the library – reordered repositories which are used for downloading dependencies;
  16. Fixed Tooltip on RolloverModifier appear outside the Chart area
  17. SC_DROID-596: improved layout of rollover tooltip to prevent clipping of tooltip at the bottom if there is enough space to place it a bit higher;
  18. SC_DROID-596: refactored VerticalSliceBehaviorBase to allow to override layout of rollover tooltips by creating custom SliceLayout.

Where to get iOS / Android / Xamarin v2.5?

You can get the SciChart iOS/Android/ Xamarin SDK v2.5 from the Downloads page. Source code customers can also get the latest from our Github repository as well as from Cocoapods for iOS, and Maven for Android. We also keep on delivering continuously for bug fixes, features and minor updates to the following package sources.

In addition, our example code is published to Github and is available to clone or download.

Download SciChart iOS/Android / Xamarin v 2.5

Best regards,
SciChart Team

The post SciChart iOS with Metal /Android / Xamarin v2.5 released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

SciChart WPF v5.3 Released
Posted by Julia Skorobogata on 20 February 2019 12:32 AM

We are pleased to announce the release of SciChart WPF v5.3, build 11899 . This is a minor update which includes a number of bug fixes, improvements, and new features. It is strongly advised for users of SciChart v5.x to upgrade to this version, which is a drop-in replacement. 

What’s New in SciChart WPF v5.3?

New features

WPF Chart Animation Functions

SciChart’s WPF Chart now features a new WPF Chart Animation API. Animated WPF charts will make your applications more appealing to you and your customers.

There are four standard animation types introduced in SciChart WPF:

  1. Fade Animation
  2. Wave Animation
  3. Sweep Animation
  4. Scale Animation

Animations have been included in several of our WPF Chart Examples. You may see them in the video below.

SciChart’s WPF Chart Animations API is made flexible so that you can control when an animation starts and stops, the animation start delay and animation duration. There are also several predefined EasingFunctions available in WPF, that would allow to further adjust the animation behaviour.

For more information, please have a look at WPF Chart Animations Documentation.

Polar Chart Rotation:

This is a new feature added to the polar chart, which will allow you to set the rotation of the Xaxis so that the zero is at any angle. This often requested feature will allow you to have polar Charts with the 0,360 degree mark at the top of the chart.

Show tooltips as popup option:

If you have lots of charts on the screen, or a small chart size, it was often reported that the tooltips would be clipped at the edge of the chart. With this new feature, you will be able to place a tooltip in a WPF popup, which will allow the tooltip to behave more like a standard WPF tooltip.

To enable tooltips to show up as popups just use the property: RolloverModifier/CursorModifier/TooltipModifier.TooltipUsageMode=”TooltipControl, Popup”.

For more information, please have a look at Popups vs. Canvas for WPF Chart Tooltips Documentation.

An ON/OFF option to show tick labels only on chosen planes in 3D Charts: 

You may now choose which planes would be showing the tick labels in the WPF 3D charts. For examples by setting the following properties on the SciChart3DSurfcae:

<s3D:SciChart3DSurface s3D:XyAxisPlane.DrawLabelsMode="AxisPlaneDrawLabelsBoth"

For more information, please see the documentation for Showing Axis Labels on one side of the 3D Chart.

Bug Fixes 

Almost 50 bugs and minor issues have been addressed in v5.3 since the last stable release. Bug fixes are shipped first in our nightly builds and are bundled up and tested for stable releases.

  1. Fixed the issue with scrolling when DiscontinuousAxis is used
  2. Fixed Static axes with changed Minor\Major delta takes no effect and no re-drawing.
  3. Fixed SC-4747 BorderThickness and BorderBrush missed when export with clone
  4. Fixed the issue when a Scrollbar would jitter if the track dragged when stuck at either end of the scroll area
  5. Removed TypeMarkupExtension and FasterRandom has been moved to SciChart.ExternalDependencies. This removes all CPOL code from the commercial SciChart library
  6. Removed class LayoutTransformer due to CPOL Open Source license objection by one of our customers. Have used default WPF ‘LayoutTransform’ instead
  7. Removed s:Static markup extension (CPOL) Open Source license objection by one of our customers. Have used default WPF x:Static instead
  8. Changed DataContext of child annotations in TradeAnnotations
  9. Fixed annotations not exported when VerticalSliceModifier added
  10. Fixed SC-4759 where VerticalLineAnnotation with String LabelValue would throw with a TimeSpanAxis
  11. Fixed SC-4758 duplicate AnnotationLabels when removing and then add same annotation instance in MVVM
  12. Fixed Directx 2D Bubbles when they are big, refactor to use just one TEX Coords
  13. Fixed broken touch for ZoomPan, DragAxisModifier, HeatmapColormap drag CustomModifiers derived ChartModifierBase.
  14. Fixed the DirectX Bubbles quality issue
  15. Fixed missed Axis properties not exported due to custom bindings.
  16. RotationAngle property added to PolarXAxis
  17. Fixed SC-4766 issue when resampling didn’t consider whether the chart is vertical the or not when reducing points
  18. Added missing properties (MaxBubbleSizeInPixels and ApplyAreaSizingInsteadOfRadius) to BubbleRenderableSeriesViewModel
  19. Fixed wrong XRange calculation inside StackedColumnsWrapper
  20. Fixed the issue in MouseManager to make events propagated to Master first
  21. Fixed for ZoomExtents when CategoryAxis and one RenderableSeries is hidden
  22. Added scaling functionality for Major\Minor Grid\Tick lines of an axes
  23. Fixed Grid and Tick lines of axes not scaled after Export
  24. Fixed PointMarkers not scaled after Export
  25. Added quick fix for SC-4775 crash in ExtremeResamplers with FifoBuffer;
  26. Fixed ZoomPanModifier not worked without PinchZoomModifier enabled with touch;
  27. Fixed AxisDrag modifiers not working without PinchZoomModifier or ZoomPanModifier with touch;
  28. Fixed HeatmapColorMap dragging not worked with touch;
  29. Fixed VerticalSliceModifier
  30. Made BaseRenderableSeries.DrawLines method virtual and protected
  31. Fixed SC-4770 TimeSpanLabelProvider throws with ‘Input string was not in the correct format’
  32. Fixed shader compile error
  33. Fixed for 1 px lines,
  34. Fixed SC-4782 StackedColumns shrinking when one series is hidden
  35. Added an option to ON/OFF presenting tick labels on the single side of an Axis 3D
  36. Fixed ChartTitleStyle for SciChartSurfaceBase.Export
  37. Fixed SC-4783 issue when changing Opacity on a series wouldn’t have any impact on filled series
  38. Changed the template of SciChartSurface so that ChartTitleStyle can be used to style a title
  39. Made UpdatePosition method virtual in AnnotationBase
  40. Fixed SC-4800 issue when hit-test would work incorrectly before gaps with DiscontinuousAxis
  41. Added Popup mode for Modifier Tooltips
  42. Added OnAttached, OnDetached methods to IRenderableSeries;
  43. Removed reference on Charting.DrawingTools.dll from ExternalDependencies
  44. Fixed SC-4741 issue with blinking and redrawing modifier popups
  45. Fixed SC-4809 AxesCollection memory leak (MVVM)
  46. Fixed SC-4803 CategoryAxis regression – Rollover works incorrectly when interpolated
  47. Fixed Selected PointMarkers for ExtremeRenderableSeries

Where to Get SciChart WPF v5.3?

SciChart WPF v5.3 is available from:

Please ensure you uninstall the previous version(s) of SciChart before installing v5.3 as this can prevent some issues in the upgrade process!



Best regards,
SciChart team

The post SciChart WPF v5.3 Released appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

SciChart WPF v5.2.1.11757 Released
Posted by Andrew on 24 November 2018 03:04 PM

We are pleased to announce the release of SciChart v5.2.1. Build 11757 . This is maintenance version which includes a number of  bug fixes and improvements. It is strongly advised for users of SciChart v5.x to upgrade to this version, which is a drop-in replacement. 

What’s New in SciChart WPF v5.2.1?

Bug Fixes and Improvements
  • SC-4730 Fixes SciChart WPF Licensing Wizard not found in Start menu after installation
  • SC-4742 AccessViolationException in WriteableBitmapExtensions.FillRectangle
  • SC-4740 Heatmap crash with export and colormap defined inside of series
  • SC-4738 Huge font for superscript axis labels for certain regions
  • SC-4736 SciChart.ExternalDependencies resources don’t work from NuGet
  • SC-4721 When AxisBinding MVVM API used, and HorizontalGroupHelper.HorizontalGroup, XAxis is blank
  • SC-4687 Rarely broken bindings due to ElementName bindings
  • SC-4728 ExportToStream ignores size parameter,
  • SC-4724 Add handling of SetBasePoint nullreference exception
  • SC-4725 Fixed Fix SetBasePoint for DrawingTools
  • SC-4654 Fixed DrawingTools: PitchFork fill outside the annotation
  • SC-4653 Fixed DrawingTools: PitchFork disappearing fill
  • SC-4652 Fixed DrawingTools: Head & Shoulders disappearing fill
  • SC-4663 Fixed DrawingTools: FreeDraw – quite hard to hit-test for dragging
  • SC-4678 Fixed FreeDraw DrawingTool – cannot delete or change it when selected second ime
  • SC-4661 DrawingTools: add FontSize to PaletteControl for Fibonacci annotations
  • SC-4680 Contours With Heatmap – tooltip always report ZValue as NaN
  • SC-4658 DrawingTools: hit-test should work when clicked on a filled area of an annotation
  • SC-4668 Realtime Waterfall 3D crash
  • SC-4677 Fixed CursorModifier SnappingMode stopped working
  • SC-4060 Application crash after multiple load & export
  • SC-4607 always pass in texture width and height of sprites, wo when sampling the offsets are taken properly
  • Fixed the issue when RenderableSeries.GetXRange() would throw if the DataSeries wasn’t assigned
  • SC3D-481 ColumnRenderableSeries3D won’t draw if PointMetadata is not provided and XyzDataSeries3D used
  • SC3D-480 PointLineRenderableSeries3D line color does not respond to PaletteProvider
  • SC3D-479 Camera3D properties have DependencyProperty Precidence issue and cannot be bound when SciChart3DSurface inside a control template
  • SC3D-478 When Theme Changes series are sometimes removed in SciChart 3D
  • Fixed incorrect 3D text rendering, where string contains characters from different Unicode pages
  • Added ContextMenu binding from internal annotations to DrawingTools annotations
  • VHN-744-33548 Fixes PointLine 3D line color
  • Made the GetIndicesRange method virtual
  • In WaterfallSceneEntity switched coordinates calculation from float type to double, to increase a precision
  • [SVW-595-49808] Error in Gradient Fill Direction Along Y Axis
  • [QTL-387-74220] 3D charts with DateTime Z axis issues
  • Fixed the issue when an OHLC data series has all data points as NaNs and AutoRange would not work correctly for all other series
  • Improved SciScrollBar when with DiscontinuousAxis
  • Added missing XML comments on AnnotationCreationModifierForMVVM
  • Fixes binding errors in DefaultAxisTitle in some systems which use SciChart with MVVM API. Improves performance of SeriesBinding MVVM API
  • Added MVVM Series Performance Test to TestSuite
  • [VTL-700-11872] Assertion Failed – Matrix Stack overflow
  • [SKX-960-39374] Waterfall _heightsTexture wasn’t recreating on data series dimensions change
  • Avoided using ElementName in data binding that causes some issues in the Simple Waterfall Example (known WPF bug)

Where to Get SciChart WPF v5.2.1?

SciChart WPF v5.2.1 is available from:

Please ensure you uninstall the previous version(s) of SciChart before installing v5.2.1 as this can prevent some issues in the upgrade process!



Best regards,
SciChart team

The post SciChart WPF v5.2.1.11757 Released appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »


A while ago we announced we had open sourced the small but useful WPF Transitionz library for Metro Style Animation effects in WPF applications. To our surprise this now has over 5,000 downloads on and even received a couple of questions & bug reports via the Github repository!

We’re using the four libraries in SciChart.Wpf.Ui in our SciChart WPF Examples Suite, and also starting to use them in consultancy projects, so we’ve updated them for 2018 to be compatible with .NET Standard 2.0 and .NET 4.6.1, plus fixed a number of bugs & added other improvements.

What’s in SciChart.Wpf.UI ?

So what’s in this mysterious collection of open source libraries? A quick run-down below.


Supporting .NET Standard 2.0 / .NET Framework 4.6.1 and above, this library includes bootstrapper classes for WPF Applications using Unity and allowing automatic dependency discovery across a range of assemblies.

See the Bootstrap Library Overview page at SciChart.Wpf.UI.

To use it,

  1. Decorate your types with the [ExportType] attribute
    	public interface IFoo
    	// This type is automatically registered with the Unity Container
    	// Every time IFoo is resolved, you get a new instance
    	public class Foo : IFoo
    		// Any other registered dependency can go in the constructor
    		public Foo(IUnityContainer container)
  2. Create a Bootstrapper and initialize public partial class App : Application
        public partial class App : Application
            private AbtBootstrapper _bootstrapper;
            public App()
                _bootstrapper = new AbtBootstrapper(new UnityContainer(), new AttributedTypeDiscoveryService(new AutoAssemblyDiscovery()));
                 // At this point, your container now contains all the types decorated with [ExportType] attribute
                 // You may resolve them as normal in Unity 
  3. Now your application has UnityContainer powered dependency injection in just a few lines of code!



The SciChart.UI.Reactive library supports .NET Standard 2.0 / .NET Framework 4.6.1 and above provides observable viewmodels which combine INotifyPropertyChanged event notifications for WPF, and Reactive IObservable streams for observing individual, or combinations of properties.

See Reactive Library Overview and Reactive Library WhenPropertyChanged wiki pages.

The main benefit of this library is that it brings the incredible power of Reactive Extensions to MVVM in WPF applications. You declare a class like this:

public class WhenPropertyChangedTests : ObservableObjectBase
    public string SearchText
        get => GetDynamicValue();
        set => SetDynamicValue(value);

    public SearchOptions SearchOptions
        get => GetDynamicValue();
        set => SetDynamicValue(value);

and now any of these properties raise both PropertyChanged events as well as a reactive stream (IObservable<T>). You also don’t have to create a backing field making all your properties, these are stored in the base class (ObservableObjectBase) in a dictionary.

Properties may now be observed using Reactive Extensions as follows:

void Foo()
	// Create the ViewModel
	WhenPropertyChangedTests vm = new WhenPropertyChangedTests();

	// Observe properties
	var observable1 = vm.WhenPropertyChanged(x => x.SearchText);
	var observable2 = vm.WhenPropertyChanged(x => x.SearchOptions);

	// Subscribe 
	var disposable = observable1.Subscribe(t => Console.WriteLine($"Search Text = '{t}'"));

	// Set properties 
	vm.SearchText = "Hello"; // -> Should output 'Search Text = 'Hello'' to console
	vm.SearchText = "World"; // -> Should output 'Search Text = 'World'' to console


	vm.SearchText = "Not observed"; // nothing happens 

and multiple properties may be observed using Observable.CombineLatest

void Foo()
    // Create the ViewModel
    WhenPropertyChangedTests vm = new WhenPropertyChangedTests();

    // Observe properties
    var observable1 = vm.WhenPropertyChanged(x => x.SearchText);
    var observable2 = vm.WhenPropertyChanged(x => x.SearchOptions);

    // Subscribe 
    var disposable = Observable.CombineLatest(observable1, observable2, Tuple.Create)
        .Subscribe(t => Console.WriteLine($"Search Text = '{t.Item1}', Options = '{t.Item2}'"));

    // Set properties 

    // -> Should output 'Search Text = 'Hello', Options = 'AnOption'' to console
    vm.SearchText = "Hello";
    // -> Should output 'Search Text = 'Hello', Options = 'AnotherOption'' to console 
    vm.SearchOptions = SearchOptions.AnotherOption;
    // -> Should output 'Search Text = 'World', Options = 'AnotherOption'' to console
    vm.SearchText = "World";


    vm.SearchText = "Not observed"; // nothing happens 

If you haven’t checked out Reactive Extensions yet and seen what it can do for your WPF applications, or even server-side applications, then do so. It’s brilliant!

Learning resources:


The Transitionz library seems pretty popular with WPF developers as it provides a very simple way to animate elements on the UI with just Xaml attached properties.

Transitionz supports WPF / .NET 4.6.1 and above and allows the following effects in your application:

  1. Fade / Animate Opacity
  2. Translate / Animate position
  3. Scale / Animate size
  4. Blur / Animate blur factor

All Transitionz animations may be triggered on:

  1. On Visibility (e.g. Animate opacity on visibility changed)
  2. On DataContextChanged (e.g. trigger an animation when new DataContext attached)
  3. On Loaded (e.g. when the control.Loaded event fires)
  4. or .. Once (e.g. consider OnLoaded will fire each time the control is loaded, wheareas once ensures just one-time operation)
  5. Explicity, by binding to or setting Transition Params

Head over to the Transitionz Library wiki page for more information. We also have a small test-app bundled with SciChart.WPF.UI which demonstrates this functionality.

Transitionz WPF Animation Library



The SciChart.Wpf.UI assembly supports WPF / .NET 4.6.1 and above, and brings a number of useful controls to WPF applications, and metro styles based on MahApps.Metro. Controls include:

  • BusyPanelA panel which displays a spinner / hides content while BusyMessage is not null, shows the content when BusyMessage is null.
  • PopupHostA control to host popups which can be shown inside a WPF app with animated show & hide. The background can be blurred out or made darker, similar to a web popup.
  • WarningDialogA Metro-style warning dialog which pops up to prompt the user, and provides some Yes/No/Ok/Cancel buttons
  • Miscellaneous controls and classes, such as the LabelControl, ExceptionViewer,


SciChart.WPF.UI BusyPanel and Popups


Where to Get it

The SciChart.WPF.UI libraries are free & open source and may be used in commercial projects under the Apache 2.0 license. Packages are published to and source code is available on Github.


About Us

SciChart is a self-funded and profitable startup based in London, U.K., which specialises in High Performance, Realtime Chart controls as well as expert consultancy in complex .NET UI / Server applications.

Connect with me on LinkedIn to find out more about our background and capabilities. If you have a bespoke requirement and want to hire our world-class consultants, then get in touch!



The post Open Source SciChart.UI.Reactive and SciChart.WPF.UI.Transitionz v2.1 Released appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

SciChart iOS /Android / Xamarin v2.2.1 released!
Posted by Julia Skorobogata on 18 October 2018 11:42 AM

We are really excited to announce, that SciChart iOS/ Android / Xamarin v2.2.1 is released! 

What’s New in SciChart iOS /Android /Xamarin v 2.2.1?

There is a large number of improvements and bug fixes made in SciChart iOS/ Android / Xamarin v2.2.1. We have made many improvements and bug fixes, major memory leaks have been fixed. It is recommended for all users of SciChart v2.1 to update to the latest version! Please see more information below:

  • Made SCIChartSurfaceProtocol conform to SCIChartControllerProtocol
  • Logarithmic axis zoom extents is fixed by SCILogarithmicVisibleRangeAnimator
Bug Fixes:
  • SCIOS-626: Fixed HorizintalLineAnnotation and VerticallLineAnnotation are not clipped by axes and are drawn over them
  • SCIOS-642: Fixed issue with on resize of the SCIChartSurface, lay out the axis labels
  • SCIOS-637: refactored internal scroll and removed velocityValue from improper places, fixed crash caused by SCILogarithmicDoubleCoordinateCalculator not having implemented getVelocityValueFrom
  • SCIOS-672: Fixed chart sync crash (EOG) – caused by TooltipShowOnTouch
  • SCIOS-596: Fixed Error during rendering of the first point when ifDigitalLine = true
  • Fixed major memory leaks in SciRenderable series
  • SC_DROID-558: added check to prevent exception during generation of minor ticks if there are no major ticks
  • SCIOS-682: Fixed iOS annotations seem to update independently from the data series
  • SC_DROID-562: Fixed memory leak in SpritePointMarker when textures were constantly recreated and never properly disposed because of wrong texture hash
  • SC_DROID-564: Fixed incorrect drawing of axis tick label – because StaticLayout had not enough space to fit label in one string so some labels were drawn as two lines of text;
  • SC_DROID-566: Fixed some logcat errors when OpenGL code was called without OpenGL context
  • Fixed SCIOS-687 – surface.Annotations.Clear() doesn’t clear all annotation from surface.
  • SC_DROID-568: Fixed exception because of how onSurfaceCreated() is implemented in GlSurfaceView ; refactored OpenGL renderer to avoid exception because of missing native memory chunk and made it resizable; also moved OpenGL programs creation so they are created only once
  • Fixed SCICustomAnnotation position in chart wrong
  • Fixed SCIXAxisDragModifier stopped working
  • Fixed SCILegendModifier: SCIDefaultLegendItem cell ambiguous width
  • Fixed text annotation formatting
  • Fixed exception if enable debug prints for CubicSpline
  • SC_DROID-566: improving OpenGL start up time – changed GLProgram implementation and made it lazy so we don’t initialize all shaders at once when render surface created
  • SC_DROID-565: added additional render pass data locks to ensure that it won’t be changed from another thread when applying transformation
  • Added default style values for PieSegment; added some common methods for PieSegmentBuilder
  • SC_DROID-563: rewritten GLTextureView rendering from scratch – now it uses Handler + Choreographer to schedule redrawing of render surface when VSync occurs in Android
  • Made custom annotations to support AnchorPoint alignment
  • SC_DROID-578: added propagating of listeners to child series for StackedSeriesCollectionBase
  • SC_DROID-561: added synchronized wrapper for SimpleDateFormat to prevent exception when same instance is accessed from different threads, applied the same approach to prevent possible exceptions when using DecimalFormat

Where to get iOS / Android / Xamarin v2.2.1?

You can get the SciChart iOS/Android/ Xamarin SDK v2.2.1 from the Downloads page. Source code customers can also get the latest from our Github repository as well as from Cocoapods for iOS, and Maven for Android. We also keep on delivering continuously for bug fixes, features and minor updates to the following package sources.

In addition, our example code is published to Github and is available to clone or download.

Download SciChart iOS/Android / Xamarin v 2.2.1

The post SciChart iOS /Android / Xamarin v2.2.1 released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »

SciChart WPF v5.2.0 Released!
Posted by Julia Skorobogata on 18 October 2018 09:41 AM

We are pleased to announce the release of SciChart v5.2.0. Build 11680 . This is a new version which includes new features and big number of  bug fixes and improvements. It is strongly advised for users of SciChart v5.x to upgrade to this version, which is a drop-in replacement. 

What’s New in SciChart WPF v5.2.0?

Breaking changes 

There are some breaking changes, that will affect users of SciChart.DirectX, Custom Themes and AnnotationCreationModifierMVVM. Please read on. To the rest of the users this version is backward compatible.

  1. users of SciChart.DirectX will now need to update SharpDX to v4.2.0
  2. users who have custom themes will need to add the following three theme keys to their Theme Resource dictionary with color values of their choice:
    <!– 3DChart Specific values –>
  3. EffectManager.Instance.EnableDropShadows has been made obsolete, to solve a memory leak caused by WPF {x:Static} MarkupExtension binding. This property is now simply EffectManager.EnableDropShadows. Binding to this property may be achieved through the .NET 4.5 Static Property binding mechanism.
  4. AnnotationCreationModifierMVVM.AnnotationType is changed to – AnnotationCreationModifierMVVM.AnnotationViewModelType and AnnotationCreationModifierMVVM.AnnotationsColection to – AnnotationCreationModifierMVVM.AnnotationViewModelsCollection.


WPF New Chart Type: Free Surface Mesh 3D

The Free Surface 3D Chart types are a set of 3D Charts that represent the data by plotting the surface in a custom shape in 3D space. The Free Surface 3D Chart types allows to plot both types of charts that constrained to its basic 3D primitive and unconstrained. In other words it allows you to plot charts of all kinds of shapes, including Sphere, Cylinder, Disc and free-form mesh shapes.

Please this chart type examples below:

This chart type allows customization of a chart by overlaying heightmap, colormap (palette) and contours.

scichart wpf 3d chart example of ellipsoid 3d chart scichart wpf 3d chart example of closed mesh chart scichart wpf 3d chart example of disk or polar mesh 3d chart scichart wpf 3d chart example of cylindroid 3d mesh chart

  • The 3D FreeSurfaceRenderableSeries3Dcan be rendered in realtime as well. The Free Surface Mesh colors and palette can be udpated by supplying a MeshColorPalette.

Many mesh options are available such as Wireframe, SolidMesh, Solid with Wireframe, and many paletting options such as Solid Cells, Interpolated Cells and Textured.

Please see an example below and read documentation for  SciChart WPF Realtime 3D Geoid:

This new 3D Chart type is available to all customers of SciChart WPF SDK Professional, SDK Enterprise and 3D Professional who are in support subscription, free of charge.

WPF New Feature: Trade Annotations (Drawing tools)

With WPF v.5.2 SciChart features a rich DrawingTools API, includes new drawing tools that will allow you to easily place annotations that are widely used in financial or trading domains at your application .

Now you can add following out of the box

All the drawing tools are customarily, you may change stroke thickness, line style and colors, etc.

All new drawing tools are in the SciChart.DrawingTools.dll package and are available to all customers of SciChart WPF SDK Professional, SDK Enterprise and 2D Enterprise who are in support subscription, free of charge. 

Bug Fixes and Improvements
  • Fixed a memory leak in DirectX Renderer plugin when PointMarker changed often or new series with PointMarkers created often, cached textures for the marker were not released.
  • Updated SciChart licensing module to use FIPS compliant algorithms so that SciChart can be used in high security settings
  • Increased performance of series load by only applying Dropshadow effects to series markers and tooltips in the SciChart XAML Templates when the EffectManager.EnableDropShadows flag is set *and* the tooltip is visible
  • Fixed issue where creating MVVM AxisViewModel after SciChartSurface is loaded causes Axis.IsPrimaryAxis to be false and AxisAlignment incorrect, which resulted in blank chart
  • Added missing properties to MVVM Bindings for AxisBase3D: CursorTextFormatting, AxisTitle, VisibleRange
  • Added a property to AxisBase3D.AxisPlaneBackgroundFill which when set (default Transparent) fills in the entire axis wall in a solid colour
  • Fixed hit test and tooltip on RenderableSeries3D failing when obscured by a custom BaseSceneEntity
  • Fixed null reference if Direct3D11RenderSurface.RenderSurfaceLoaded is called after Dispose
  • Fixed a memory leak where chart was kept alive if LegendModifier was used.
  • Fixed issue with DataPointSelectionModifier, when XAxisId where set from ViewModel
  • Fixed SC-4601: DataPointSelectionModifier seems to select incorrect columns in StackedColumnsSeries
  • Fixed the issue with ZoomHistoryManager when MVVM API is used and AxisBinding is not working yet
  • Fixed SC-4543: ZoomHistoryManager does not fire RangeHistoryChanged when ClearAllHistory is called
  • Fixed the issue when ZoomHistoryManager would throw when MVVM API is used and AxisBinding had not worked yet
  • Fixed Assertion Failed. Martix stackoverflow
  • SC3D-472: Added true AntiAliasing for text objects in SciChart 3D which fixes white text edge problem
  • Fixed SC3D-473: flickering that happens when min and max values are very different by not resetting the min and max again when calculating each frame
  • Fixed SC-4633: when there is no height map texture, the waterfall was broken
  • Fixed SurfaceMeshRenderableSeries3D crashes for specific dataset
  • Ported Fix for Direct3D10RenderSurface memory leak from v4.x branch to v5.x. Required some modifications due to changes in v 5.x branch
  • Added some documentation for performance / memory leak debugging
  • Fixed an issue DoubleScaleDiscontinuousAxis would not invalidate when the DrawAxisScaleBands property changes
  • Fixed binding error in default Axis3D style (MVVM)
  • Fixed bug where last pane in SciChart Group with SciStockChart does not accept mousewheel
  • Fixed PinchZoomModifier issues
  • Fixed drawing of StackedMountains for VerticalChart
  • Fixed ExtremeResampler crash on Arabic Win10
  • Fixed IsSelected flag on PointMetadata3D not updating the chart
  • Fixed SC-4502: PointMetaData3D.Parent does not set on XyzDataSeries3D append and insert
  • Fixed cross thread violation crash when FastHeatmapRenderableSeries is instantiated in an STAThread
  • Fixed an issue when LogarithmicAxis would throw in TickProvider when used in an MVVM scenario
  • Fixed SC-4611: LogarithmicAxis and FastColumn didn’t worked correctly
  • Fixed SC-4564: AutoRange=”Always” broken for logarithmic stacked column series
  • Fixed FibonacciRetracementAnnotation when used with MVVM
  • Improved AxisBandsProvider API to be more convenient
  • Added internal TextBox property in TextAnnotation
  • Fixed 3D charts with DateTime Z axis issues
  • Added Labstylecharts 3D Chart example
  • Fixed SC-4612: CompositeAnnotations as long as Drawing Tools disappear after the export
  • Fixed SC-4465: SeriesInfo3D provides no access metadata – cannot show point metadata in tooltips
  • Fixed SC-4626: tweaked C# resamplers as well to correctly handle case when data unsorted and evenly spaced when using Auto mode
  • Fixed SC-4471: TooltipModifier doesn’t consider size of PointMarkers for ScatterSeries
  • Fixed VisibleRangeLimit when it should not clip range if VisibleRange min more then VisibleRangeLimit Max when LimitMode is min (and vice versa)
  • Added SciChartGroup.VerticalChartGroup property to SynchronizeMouseAcrossCharts.xaml
  • Fixed an issue when StackedColumns would throw when ZoomExtents called and series had not been attached yet

Where to Get SciChart WPF v5.2.0?

SciChart WPF v5.2.0 is available from:

Please ensure you uninstall the previous version(s) of SciChart before installing v5.2.0 as this can prevent some issues in the upgrade process!



Best regards,
SciChart team

The post SciChart WPF v5.2.0 Released! appeared first on Fast, Native Chart Controls for WPF, iOS, Android and Xamarin.

Read more »


Not sure where to start? Contact us, we are happy to help!


SciChart Ltd, 16 Beaufort Court, Admirals Way, Docklands, London, E14 9XL. Email: Legal Company Number: 07430048, VAT Number: 101957725