" Collection was modified; enumeration operation may not execute.'" - The exception is observed when the CLR exceptions are enabled from Visual Studio.
The Ellapsed event handler of the Timer is executed in background thread but modifying chart data in a background thread is considered bad practice which is not supported by our component. This is the reason we are declining this bug report.
General solution is to schedule the data update to happen on the UI thread with Dispatcher. When in ViewModel, the following code can be used:private void OnTimerElapsed(object sender, ElapsedEventArgs e)
It appears the ChartView is also affected by the same SharpDX issue that affected the RadWebCam when it is used over Remote Desktop.
A simple test of any series will replicate the issue. If it is being used via Remote Desktop, the series will not render.
The VisualStudio2019 ChartPalette (from Telerik.Windows.Controls.ChartView) throws the below exception when using the Telerik .NET Core assemblies. This does not occur when using the Telerik .NET Framework assemblies.
System.IO.IOException: 'Cannot locate resource 'visualization/palettes/resources/visualstudio2019.xml'.'
at MS.Internal.AppModel.ResourcePart.GetStreamCore(FileMode mode, FileAccess access)
at System.IO.Packaging.PackagePart.GetStream(FileMode mode, FileAccess access)
at MS.Internal.IO.Packaging.PackagePartExtensions.GetSeekableStream(PackagePart packPart, FileMode mode, FileAccess access)
at MS.Internal.IO.Packaging.PackagePartExtensions.GetSeekableStream(PackagePart packPart)
at System.Windows.Application.GetResourceStream(Uri uriResource)
at Telerik.Windows.Controls.ChartView.ChartPalettes.LoadPalette(String fileName)
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.