The problem arises when we have many graphs on one window and when we scroll to the bottom then to the middle of the window and then resize the width of the window, not all graphics dynamically resize, some harden to the previous size.
I am attaching a project in which you can reproduce the problem.
And I am attaching a video where the problem is clearly demonstrated.
Please solve the problem as soon as possible for our product it is critical!
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 data points are not rendered when the series' axis is set at runtime through a DataTrigger in the series' style. Note: The data points are rendered when the chart is resized or zoomed. Workaround: Change the resource type in the DataTrigger that changes the axis - instead of DynamicResource, use StaticResource. <telerik:CategoricalSeriesDescriptor.Style> <Style TargetType="telerik:LineSeries"> <Style.Triggers> <DataTrigger Binding="{Binding Path=Axis}" Value="Left"> <Setter Property="VerticalAxis" Value="{StaticResource AxisLeft}"/> </DataTrigger> <DataTrigger Binding="{Binding Path=Axis}" Value="Right"> <Setter Property="VerticalAxis" Value="{StaticResource AxisRight}"/> </DataTrigger> </Style.Triggers> </Style> </telerik:CategoricalSeriesDescriptor.Style>
When there are no data points in the bar series, the chart fails to retrieve a color for the marker of the legend item. This can be worked around by modifying the item template of the legend item. In the new template the binding of the Fill of the marker, should include not just the MarkerFill but TargetNullValue: <DataTemplate x:Key="legendItemContentTemplate1"> <StackPanel Orientation="Horizontal"> <Path Fill="{Binding MarkerFill, TargetNullValue=#9B25B1}" Width="12" Height="12"> <Path.Data> <Binding Path="ActualMarkerGeometry" RelativeSource="{RelativeSource AncestorType=telerik:LegendItemControl}" /> </Path.Data> </Path> <TextBlock Margin="2" Text="{Binding Title}" /> </StackPanel> </DataTemplate> Will be available in Q2 2016 Release.
A NullReferenceException is thrown when the Strategy of the series is set Available in LIB version: 2017.2.605
Workaround: One way to work around this is to set the plot mode of the axis to OnTicksPadded.
Add support for 3D Series Type in RadChartView. A RadCartesianChart3D was introduced with R3 2016. You can use its BarSeries3D to easily achieve the Manhattan chart visualization. See the documentation: http://docs.telerik.com/devtools/wpf/controls/radchartview3d/overview See the SDK examples: https://github.com/telerik/xaml-sdk/tree/master/ChartView3D/WPF See the demos: https://demos.telerik.com/wpf/
MovingAverageIndicator doesn't recalculate its data points when a new item is added in its ItemsSource at runtime Workaround: To update the data points of the indicator reset its Period property when a new item is added in the ItemsSource. For example: // add new item var indicator = chart.Indicators[0] as MovingAverageIndicator; var period = indicator.Period; indicator.Period = 0; indicator.Period = period;
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).
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:
C#:
public
MainWindow()
{
InitializeComponent();
this
.chart.Palette = (ChartPalette)
this
.Resources(
"cpBarChart"
);
}
Sub
New
()
InitializeComponent()
Me
.chart.Palette =
DirectCast
(
Me
.Resources(
"cpBarChart"
), ChartPalette)
End
Sub
In a multiple series scenario if one series gets removed, an internal axis flag is incorrectly reset resulting in the horizontal axis displaying only one label when SmartLabelsMode is used. One way to work-around this is to add an empty dummy series after removing a real series: this.chart1.Series.Remove(EmptyDummySeries); if (this.chart1.Series.Count > 0) { this.chart1.Series.RemoveAt(this.chart1.Series.Count - 1); if (this.chart1.Series.Count > 0) { this.chart1.Series.Add(EmptyDummySeries); } }