The SelectStyle() method of the DefaultVisualStyleSelector is never called Will be available in R2 2016 Release.
Fix available in LIB Version 2016.2.606.
When the points in a series consist of values including 0, DivideByZeroException is thrown. The exception is thrown while measuring the chart - the tick step is set to 0 and the index of the tick on the axis cannot be calculated. Workaround: Set the Minimum and Maximum properties of the Axis. Available in LIB version: 2017.2.605
During Series animation, the stroke of the AreaSeries (area, splinearea, scatterarea, steparea) is not animated.
On a desktop device the tooltip is shown when the mouse enters the data point's visual element. On touch device the tooltip should be displayed when you tap (or tap and hold) on the visual element. Currently, this doesn't work. To work this around you can implement custom tooltip behavior using RadToolTip and TouchManager. https://docs.telerik.com/devtools/wpf/controls/radtooltip/overview https://docs.telerik.com/devtools/wpf/controls/touchmanager/overview
How can I hide the point in the lineSeries with the large data,and then zoom in by mousewheel,the point can be show in the lineSeries,when zoom out again,the point can be hide. Because with large data in a view,if show the point, the lineSeries's performance is poor,and the details area is not necessary,only when zoom in,we hope to show the point.
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.
Scheduled for:
The fix for this issue will be available with LIB (version 2019.1.204) scheduled for publishing on Monday, 4th February 2019.
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'.'
StackTrace:
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)
at Telerik.Windows.Controls.ChartView.ChartPalettes.get_VisualStudio2019()
" Collection was modified; enumeration operation may not execute.'" - The exception is observed when the CLR exceptions are enabled from Visual Studio.
Edit:
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)I would like the possibility to change the color of a line depending on the value.
For example:
I have values between -1 to 10.
If the value is -1 I would like the color (or possible the opacity) to change until it goes back to 0 or above.
LabelRotationAngle applies to labels only in horizontal axis.
It is mainly needed in Vertical axis, when the chart is rotated externally, when placed in rotated panel or control. In this case the vertical axis take the role of a horizontal axis visually and easy way to rotate all labels is needed for readability.
ArgumentException occurs when the ItemsSource of the chart series is populated with items that implement the ICustomTypeProvider interface and the value binding properties of the series (ValueBinding, CategoryBinding, YValueBinding, XValueBinding, etc.) are assigned to dynamic properties. This happens when the value binding properties are assigned to PropertyNameDataPointBinding object pointing to a property name. This is also what happens if you set the properties in XAML using string values.
To work this around, you can use the GenericDataPointBinding<T> class defined in code-behind in order to assign the value binding properties.
Or alternatively, you can implement custom PropertyNameDataPointBinding class and override its GetValue() method. In the method, you can check the item type and if it is ICustomTypeProvider, and then execute custom code that gets the value. The custom PropertyNameDataPointBinding implementation is shown in the attached CustomPropertyNameDataPointBinding.zip file. To use the custom binding class in XAML, you can use the following syntax:
<telerik:ScatterPointSeries.YValueBinding>
<local:CustomPropertyNameDataPointBinding PropertyName="Y" />
</telerik:ScatterPointSeries.YValueBinding>
The SeriesCreated event of the RadChartView's SeriesProvicer is never called when the SeriesDescriptorSelector property is used.
To work this around, you can create a custom chart series descriptor and override its CreateInstanceCore method.
public class CustomScatterSeriesDescriptor : ScatterSeriesDescriptor
{
protected override ChartSeries CreateInstanceCore(object context)
{
var series = (ScatterSeries)base.CreateInstanceCore(context);
// assign whatever settings you need here
return series;
}
}
NullReferenceException when MinorTicksPerMajor of the axis is set and the chart gets unloaded.
To work this around, avoid setting the MinorTIcksPerMajor property in this scenario.
The trackball visuals are the ellipses that snap to the data points when you enable the trackball behavior and hover the plot area. If a trackball is displayed and you zoom-in (via mouse wheel) or pan (via drag), the trackball visuals stay on the proper data point as expected. However, if the zoom-in forces the corresponding data point to go outside the viewport, the trackball follows it and it doesn't get hidden (because it is outside the viewport/plot area).
To work this around, you can manually hide the Ellipse visuals.
private void RadChart_PanOffsetChanged(object sender, Telerik.Windows.Controls.ChartView.ChartPanOffsetChangedEventArgs e)
{
Dispatcher.BeginInvoke(new Action(() =>
{
var chart = (RadCartesianChart)sender;
var trackballs = chart.ChildrenOfType<Ellipse>().Where(x => x.DataContext is DataPointInfo);
foreach (Ellipse visual in trackballs)
{
var dpInfo = (DataPointInfo)visual.DataContext;
RadRect dpSlot = dpInfo.DataPoint.LayoutSlot;
if (!chart.PlotAreaClip.Contains(dpSlot.X, dpSlot.Y))
{
visual.Opacity = 0;
}
else
{
if (visual.Opacity == 0)
{
visual.Opacity = 1;
}
}
}
}));
}
In some cases the CartesianGridLineAnnotation can be offset with a single pixel from the expected position on the axis. For example, if the annotation is positioned at value 0 and there is a tick, a offset between the tick and the annotation can be observed.
To work this around, you can manually offset the annotation by setting its Top Margin.
<telerik:CartesianGridLineAnnotation Margin="0 1 0 0"/>