Hi Team,
If you set the PanOffset in XAML, it is not applied.
Does not work:
<telerikChart:RadCartesianChart x:Name="MyChart" Zoom="2, 1" PanOffset="-400,0" >
I would expect that the RadChartView renderer would be responsible for handling this after the control is loaded and the series/axis is rendered (see workaround).
If I subscribe to the ChartView's NativeControlLoaded event and wait approx 100ms before calling PanOffset, it will work.
e.g.
<telerikChart:RadCartesianChart x:Name="MyChart" Zoom="2, 1"
NativeControlLoaded="MyChart_OnNativeControlLoaded">
private async void MyChart_OnNativeControlLoaded(object sender, EventArgs e)
{
await Task.Delay(100);
MyChart.PanOffset = new Point(-400, 0);
}
The takeaway, and basis of this Bug Report, is that the control should internally perform this delay check and set the PanOffset.
This will enable MVVM scenarios because (I originally wanted to bind the PanOffset value from my view model).
Thank you,
Ramakant
If you have the following PieChart with donut series definition:
<telerikChart:RadPieChart HeightRequest="200"
WidthRequest="200">
<telerikChart:RadPieChart.Series>
<telerikChart:DonutSeries ShowLabels="True"
ValueBinding="Value"
ItemsSource="{Binding Data}" />
<telerikChart:DonutSeries ShowLabels="True"
RadiusFactor="0.45"
ValueBinding="Value"
ItemsSource="{Binding Data1}" />
</telerikChart:RadPieChart.Series>
</telerikChart:RadPieChart>
On android works as expected:
On iOS the series are overlapped and not visualized as expected. The radius factor is not respected
On UWP the second donut series in not visualized and the radius factor is not respected.
If the series is added after the page constructor, the vertical axis labels are not shown. As a workaround, create the series in the constructor and set its ItemsSource at a later stage.
As of the latest release (10/04/2019) RadPieChart with a PieSeries having LabelBinding set to a property name, and ShowLabels set to True, with the list of data bound to ItemsSource containing one or more empty pie slices (a null in the list), causes a System.Reflection.TargetException to be thrown on load of the page containing the chart in iOS (this scenario works fine in UWP).
I am using the latest available Visual Studio 2019 (16.3.5) and the latest available Xamarin.Forms package (4.2.0.848062) and testing on an iPad with iOS 13.1. The reason I need to have a null value in the list is so that the custom color palette I'm applying will always apply the same colors to the same data points (pie slices), even though in some cases, zero or one or two of the three pie slices will have no data value (and so should not appear in the chart, but still "use up" the corresponding color in the 3 colors of the palette).
In the 08/02/2019 release, this scenario worked fine in iOS (the 09/13/2019 release had the https://feedback.telerik.com/xamarin/1431067-chart-ios-invalidcastexception-is-thrown-when-the-chart-is-loaded issue, which is now resolved in the 10/04/2019 release, but which prevented my testing in iOS since in my app I had RadCartesianCharts on the same pages as the RadPieCharts).
The newly broken functionality in iOS could possibly be related to two other items that are marked completed:
https://feedback.telerik.com/xamarin/1366403-piechart-tooltip-behavior-is-not-working-properly (in 10/04/2019 release)
https://feedback.telerik.com/xamarin/1365842-chart-null-value-support (in R3 2018 SP release)
If you have a Chart with BarSeries and TooltipBehavior defined, the tooltip of each bar is shown only when the user taps in the area around the tip of the bar.
The expected behavior is the tooltip to be displayed when clicking anywhere on the bar.
If we have a Chart with combined barseries and lineseries, and the lineseries is added first, the bars are misaligned - they are not placed in the center of the axis label on Android.
As a workaround, make sure to add first the barseries, then the lineseries.
When Custom Palette is used and FillColor is set, the color is not applied to the line series.
As a workaround set the both properties of the PaletteEntry: FillColor and SrtokeColor:
<telerikChart:PaletteEntry FillColor="Red" StrokeColor="Red" />