Add a mechanism that allows the chart to process only the data within the viewport. This should improve the memory footprint and the performance of the chart in scenarios with big number of data points.
When you set the Palette property to a new instance of ChartPalette in XAML, a NullReferenceException is thrown. This happens when you click inside the chart control in the Visual Studio designer.
The exception reproduces only if the "Miscellaneous" category in the "Properties" pane of Visual Studio is expanded.
To work this around, set the Palette property in code:
When you change series datapoints and then play ChartRevealAnimation the following InvalidOperationException might occur:
Cannot call the ClockController.SkipToFill method for a Clock that has a Duration or RepeatDuration of Forever, because this Clock will never reach its fill period.
You can try calling PlayAnimation in Dispatcher:
Dispatcher.BeginInvoke(new Action(() =>
If you define the chart in a new window and open it from the app main window, and then close the window, the chart stays in memory. This is reproducible only in a data binding scenario - the ItemsSource of the chart series should be set to a ObservableCollection<T>.
Additionally, the collection bound to the ItemsSource of the series should be still alive. For example, it can be defined in the view model of the main window that opens the window with the chart.
To resolve this you will need to set the ItemsSource of all chart series in the window to null.
The fix for this issue will be available with LIB (version 2019.1.204) scheduled for publishing on Monday, 4th February 2019.
Currently, the control relies on its IsLoaded property to determine if it should render its items (axes, data points, annotations, etc.). However, if you measure and arrange the control in code without adding it into the visual tree, the IsLoaded property is not set to True, therefore the chart is not rendered and the image gets empty. Original description ---------------------------------- Title: RadCartesianChart incorrecly rendered We're rendering (Telerik) charts in code behind, to include them in a dynamic documentation. For most controls it works fine - using standard methods (rendering control with System.Windows.Media.Imaging.RenderTargetBitmap and saving the result BitmapSource to disk) However, it's impossible with RadCartesianChart with CategoricalSeriesDescriptor or ChartSeriesDescriptor. What we are able to get are axes and descriptions, but not bars. I'm attaching an example - MainWindow displays a chart. I try to also create the chart in code behind. In CreateAndSaveChart() method I create a chart with a DataContext, then I call Measure and Arrange methods on it. At this stage the control should be properly initialized and ready to render. (For simplicity I omit rendering control with RenderTargetBitmap - you can preview the control with WPF Tree Visualizer, which will give you the same result). Well, if you preview the control at this stage, you'll see that the chart is missing bars. Next I create a new Window with my chart as a content, and display it for a while. Now the chart is fully and correctly rendered. As a workaround we display some Telerik chart in a transparent window to fully render, but such a workaround was reported not to work for some clients and is unacceptable in a long run. With most of Telerik charts we don't have such problems. Other issue: - for other Telerik charts we need to wait a few seconds to have it fully rendered. It's be better to have an event informing that the control is ready. I'll be happy to add more details if you need any. * While experimenting with the example I've suddenly managed to render the chart with bars, but this time the rendered size was incorrect (very small)
If two or more data points from the same series have the same X value - it should be possible to show information for all of these data points in the track ball.
When you try to set the LabelDefinition property in style it is not applied. As a workaround you can create an attached property to which you can apply the custom definition and set it to the LabelDefinition property of the annotation in its OnPropertyChangedCallback.
If the annotation and its label are out of the viewport (the plot area) and then use the PanZoomBar to scroll to it, the label is not displayed. It appears after the chart layout is updated (ex: resize or zoom).