Hi!
I added RadCartesianChart inside RadSlideView.
I have charts where on one slide there is NumericalAxis on another CategoricalAxis.
Is it possible to do an extension and treat this, or another way?
Custom axis: Numerical axisExt
Regards,
Rodrigo.
Hi,
I used this documentation:
https://docs.telerik.com/devtools/maui/knowledge-base/chart-multiple-axes
However, no good results were obtained.
①The second axis appears to be misaligned.
②If possible, I would like to place the second axis to the left of the first axis.
Is there a solution to these?
Hi!
It's possible to format or create a template for ChartTooltipBehavior?
Example:
TooltipTemplate="{StaticResource toolTipTemplate1}"
<telerik:RadCartesianChart.Resources>
<ResourceDictionary>
<DataTemplate x:Key="toolTipTemplate1">
<VerticalStackLayout>
<HorizontalStackLayout HorizontalOptions="Center" VerticalOptions="Fill" Spacing="0" Padding="3" Margin="0">
<Label Text="{Binding Item.X, StringFormat='{0:F2}'}" TextColor="White"/>
<Label Text=" "/>
<Label Text="{Binding Path=BindingContext.AmplitudeUnit, Source={x:Reference graphicPage}}" TextColor="White"/>
<Label Text=" | "/>
<Label Text="{Binding Item.Y, StringFormat='{0:F2}'}" TextColor="White"/>
<Label Text=" "/>
<Label Text="{Binding Path=BindingContext.FrequencyUnit, Source={x:Reference graphicPage}}" TextColor="White"/>
</HorizontalStackLayout>
</VerticalStackLayout>
</DataTemplate>
</ResourceDictionary>
</telerik:RadCartesianChart.Resources>
Hi!
Is it possible to put a title on the X and Y axes?
Example:
<telerik:NumericalAxis>
<telerik:NumericAxisX.Title>
<telerik:AxisTitle Text="{Binding AmplitudeUnit}"/>
</telerik:NumericAxisX.Title>
</telerik:NumericalAxis>
Regards,
Rodrigo.
I am trying to use the pie chart on my content page but it is not rendering. My XAML is:
<telerik:RadPieChart Grid.Row="0" x:Name="chart" HandlerChanged="chart_HandlerChanged">
<telerik:RadPieChart.BindingContext>
<vm:SystemStatsViewModel />
</telerik:RadPieChart.BindingContext>
<telerik:RadPieChart.Series>
<telerik:PieSeries ShowLabels="True"
RadiusFactor="0.8"
ValueBinding="Value"
ItemsSource="{Binding LoadChartItems}" />
</telerik:RadPieChart.Series>
</telerik:RadPieChart>
The view model returns sample data just to get the chart to render:
public ObservableCollection<LoadChartItem> LoadChartItems { get => new() {
new() { Category = "Test1", Value = 52 },
new() { Category = "Test2", Value = 19 },
new() { Category = "Test3", Value = 82 },
new() { Category = "Test4", Value = 23 }
};
}
There are other controls (labels, grids) on the page that render properly using the view model so I can rule out a bug in my view model. I have tried rendering the chart with and without the:
<telerik:RadPieChart.BindingContext>
<vm:SystemStatsViewModel />
</telerik:RadPieChart.BindingContext>
since the page references the SystemStatsViewModel in the bindingcontext. The control just never appears or throws an error of any kind. Any help or insights are appreciated.
Hi, I have a refreshview with a grid that contains a some labels, a RadPieChart and a CollectionView.
However the existence of the RadPieChart disables the functions of the refreshview on the collectionview. If i replace it with a boxview that has the same view properties set it works fine, but then i'm missing the chart.
It seems like there is some kind of override on the refreshview from the chart. Is there a way to fix this?
<!--<BoxView x:Name="boxtest"
Grid.Row="4"
BackgroundColor="Red"
VerticalOptions="Fill"
IsEnabled="False"
Margin="0, 16">
</BoxView>-->
<telerik:RadPieChart Grid.Row="4"
x:Name="AbsencePieChart"
BackgroundColor="Red"
VerticalOptions="Fill"
Palette="{Binding Path=PieChartDataPoints, Converter={StaticResource PieChartToChartPalette}}"
IsEnabled="False"
Margin="0, 16">
<telerik:RadPieChart.Series>
<telerik:PieSeries ItemsSource="{Binding Path=PieChartDataPoints}"
ValueBinding="Value" />
</telerik:RadPieChart.Series>
</telerik:RadPieChart>
Issue is only present on iOS. Android and windows work as expected.
When using a ScatterLineSeries with a ItemSource set to an ObservableCollection the Chart control has a tendency to hang and lock the application when the ObservableCollection data slides (items are removed at position 0, and items are added to the end)
When the issue occurs iOS Device log has entries such as:
"default 09:31:45.095875-0500 myApp.Client.Mobile Hang detected: 0.39s (always-on hang reporting)"
//this is called once during the setup of the control
var data = new ObservableCollection<SeriesData>();
ScatterLineSeries lineSeries = new ScatterLineSeries()
{
DisplayName = series.Name,
XValueBinding = new PropertyNameDataPointBinding(nameof(SeriesData.XScaled)),
YValueBinding = new PropertyNameDataPointBinding(nameof(SeriesData.YScaled)),
ItemsSource = data,
};
chart.Series.Add(lineSeries);
//this is called periodically as new data is available to display
public void AddSeriesData(IEnumerable<SeriesData> data)
{
float? min = null;
float? max = null;
lock (_data)
{
foreach (var d in data)
{
d.XScaled = d.X;
d.YScaled = ((d.Y ?? 0) - d.Series.MinValue) / (d.Series.MaxValue - d.Series.MinValue) * 100;
if (_data.TryGetValue(d.Series, outvar collection))
{
collection.Add(d);
max = d.XScaled;
min = collection[0].XScaled;
while (max - min > settings.XAxisRange)
{
//application will start to hang here, once items are removed from beginning of the collection
collection.RemoveAt(0);
min = collection[0].XScaled;
}
}
}
}
if (max != null)
{
xAxis.Maximum = max.Value;
xAxis.Minimum = max.Value - settings.XAxisRange;
}
}
public class SeriesData
{
public readonly Series Series;
public readonly float? X;
public readonly float? Y;
public float? XScaled { get; internal set; }
public float? YScaled { get; internal set; }
public SeriesData(Series series, float? x, float? y)
{
Series = series;
X = x;
Y = y;
}
}
I am trying to do a Line Series chart based on DateTimeAxis. Here is my XAML:
<StackLayout>
<telerik:RadCartesianChart
VerticalOptions="FillAndExpand">
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:DateTimeContinuousAxis LabelFitMode="Rotate"
MajorStepUnit="Month" />
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:NumericalAxis
Maximum="{Binding StartWeight}"
Minimum="{Binding GoalWeight}"/>
</telerik:RadCartesianChart.VerticalAxis>
<telerik:RadCartesianChart.Series>
<telerik:LineSeries ValueBinding="Weight"
CategoryBinding="Date"
ItemsSource="{Binding SeriesData}" />
</telerik:RadCartesianChart.Series>
</telerik:RadCartesianChart>
</StackLayout>
Here is where I create the observable collection:
private async Task<ObservableCollection<ProgressSeriesData>> GetCategoricalDataFromDbAsync()and here is what is displayed in the app:
I'm not sure why it won't plot the line for me? Here is what the data looks like in the model:
Any and all help is appreciated :)
Thanks!
xaml:
<telerik:RadCartesianChart Background="Transparent"
x:Name="chart"
Grid.Row="0">
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:NumericalAxis x:Name="xAxis" />
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:NumericalAxis x:Name="yAxis" />
</telerik:RadCartesianChart.VerticalAxis>
<telerik:RadCartesianChart.Series />
<telerik:RadCartesianChart.Annotations>
<telerik:CartesianGridLineAnnotation x:Name="marker"
Axis="{x:Reference xAxis}"
Value="0"/>
</telerik:RadCartesianChart.Annotations>
<telerik:RadCartesianChart.ChartBehaviors>
<telerik:ChartSelectionBehavior x:Name="selection"
DataPointSelectionMode="Single"
SelectionChanged="ChartSelectionBehavior_SelectionChanged" />
</telerik:RadCartesianChart.ChartBehaviors>
</telerik:RadCartesianChart>
C# Code Behind (initialization snippet).. When setting of the StrokeThickness is skipped on iOS, the app continues to work, otherwise an app crash results.
foreach (Series series in SeriesList)
{
var data = new ObservableCollection<SeriesData>();
ScatterLineSeries lineSeries = new ScatterLineSeries()
{
DisplayName = series.Name,
XValueBinding = new PropertyNameDataPointBinding(nameof(SeriesData.XScaled)),
YValueBinding = new PropertyNameDataPointBinding(nameof(SeriesData.YScaled)),
ItemsSource = data
};
if (Series.AllowLineThickness) //set to false for iOS
{
//ios chart series thickness bug
lineSeries.StrokeThickness = series.Thickness; //series.Thickness is always 1
}
if (Series.AllowLineColor) //set to false for android
{
//android chart legend color bug
lineSeries.Stroke = series.Color;
}
chart.Series.Add(lineSeries);
_lineSeries[series] = lineSeries;
_data[series] = data;
}
resulting NullReferenceException w/ stack trace
Object reference not set to an instance of an object.
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.ScatterLineSeriesAdapter`1[[Telerik.Maui.Controls.Compatibility.Chart.ScatterLineSeries, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].UpdateStrokeThickness(ScatterLineSeries sourceOwner, TKChartSeries targetOwner)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.ScatterLineSeriesAdapter`1[[Telerik.Maui.Controls.Compatibility.Chart.ScatterLineSeries, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].UpdateSeriesProperties(String propertyName, ScatterLineSeries sourceOwner, TKChartSeries targetOwner, RadChartBase sourceChart, TKChart targetChart)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.ChartSeriesAdapter`2[[Telerik.Maui.Controls.Compatibility.Chart.ScatterLineSeries, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7],[TelerikUI.TKChartSeries, Telerik.iOS, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].UpdateCore(ScatterLineSeries sourceOwner, TKChartSeries targetOwner, String propertyName, IParentElement sourceOwnerRoot, Object targetOwnerRoot)
at Telerik.Maui.Controls.Compatibility.Chart.ChartElementFacadeAdapter`2[[Telerik.Maui.Controls.Compatibility.Chart.ScatterLineSeries, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7],[TelerikUI.TKChartSeries, Telerik.iOS, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].Update(Object sourceOwner, Object targetOwner, String propertyName, Object sourceOwnerRoot, Object targetOwnerRoot)
at Telerik.Maui.Controls.Compatibility.Common.XamarinToNativeControlExtensions.Update[TKChartSeries,ChartSeries](TKChartSeries nativeElement, ChartSeries xfElement, String propertyName, Object sourceOwnerRoot, Object targetOwnerRoot)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.ManagedChartDataSource.CreateSeries(RadChartBase xfChart, TKChart chart)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.BaseChartAdapter`1[[Telerik.Maui.Controls.Compatibility.Chart.RadCartesianChart, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].UpdateCore(RadCartesianChart sourceOwner, TKExtendedChart targetOwner, String propertyName, IParentElement sourceOwnerRoot, Object targetOwnerRoot)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.CartesianChartAdapter.UpdateCore(RadCartesianChart sourceOwner, TKExtendedChart targetOwner, String propertyName, IParentElement sourceOwnerRoot, Object targetOwnerRoot)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.BaseChartAdapter`1[[Telerik.Maui.Controls.Compatibility.Chart.RadCartesianChart, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].Update(Object sourceOwner, Object targetOwner, String propertyName, Object sourceOwnerRoot, Object targetOwnerRoot)
at Telerik.Maui.Controls.Compatibility.Common.XamarinToNativeControlExtensions.Update[TKExtendedChart,RadCartesianChart](TKExtendedChart nativeElement, RadCartesianChart xfElement, String propertyName, Object sourceOwnerRoot, Object targetOwnerRoot)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.BaseChartRenderer`1[[Telerik.Maui.Controls.Compatibility.Chart.RadCartesianChart, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].OnElementAttached(RadCartesianChart newElement)
at Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.CartesianChartRenderer.OnElementAttached(RadCartesianChart newElement)
at Telerik.Maui.Controls.Compatibility.Common.iOS.IosRendererBase`2[[Telerik.Maui.Controls.Compatibility.Chart.RadCartesianChart, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7],[Telerik.Maui.Controls.Compatibility.ChartRenderer.iOS.TKExtendedChart, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].OnElementChanged(ElementChangedEventArgs`1 e)
at Microsoft.Maui.Controls.Handlers.Compatibility.VisualElementRenderer`1[[Telerik.Maui.Controls.Compatibility.Chart.RadCartesianChart, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].SetVirtualView(IElement view, IPlatformViewHandler nativeViewHandler, Action`1 onElementChanged, RadCartesianChart& currentVirtualView, IPropertyMapper& _mapper, IPropertyMapper _defaultMapper, Boolean autoPackage)
at Microsoft.Maui.Controls.Handlers.Compatibility.VisualElementRenderer`1[[Telerik.Maui.Controls.Compatibility.Chart.RadCartesianChart, Telerik.Maui.Controls.Compatibility, Version=6.0.0.0, Culture=neutral, PublicKeyToken=5803cfa389c90ce7]].Microsoft.Maui.IElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.ContentViewHandler.UpdateContent(IContentViewHandler handler)
at Microsoft.Maui.Handlers.ContentViewHandler.MapContent(IContentViewHandler handler, IContentView page)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IContentViewHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ContentViewHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.ContentViewHandler.UpdateContent(IContentViewHandler handler)
at Microsoft.Maui.Handlers.ContentViewHandler.MapContent(IContentViewHandler handler, IContentView page)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IContentViewHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ContentViewHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.ContentViewHandler.UpdateContent(IContentViewHandler handler)
at Microsoft.Maui.Handlers.ContentViewHandler.MapContent(IContentViewHandler handler, IContentView page)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IContentViewHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ContentViewHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.BorderHandler.UpdateContent(IBorderHandler handler)
at Microsoft.Maui.Handlers.BorderHandler.MapContent(IBorderHandler handler, IBorderView border)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IBorderView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IBorderHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IBorderView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.BorderHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IBorderView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.ContentViewHandler.UpdateContent(IContentViewHandler handler)
at Microsoft.Maui.Handlers.ContentViewHandler.MapContent(IContentViewHandler handler, IContentView page)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IContentViewHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ContentViewHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.ContentViewHandler.UpdateContent(IContentViewHandler handler)
at Microsoft.Maui.Handlers.ContentViewHandler.MapContent(IContentViewHandler handler, IContentView page)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IContentViewHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ContentViewHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.LayoutHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.ILayout, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.LayoutView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.BorderHandler.UpdateContent(IBorderHandler handler)
at Microsoft.Maui.Handlers.BorderHandler.MapContent(IBorderHandler handler, IBorderView border)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IBorderView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IBorderHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IBorderView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.BorderHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IBorderView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement view, IMauiContext context)
at Microsoft.Maui.Handlers.ContentViewHandler.UpdateContent(IContentViewHandler handler)
at Microsoft.Maui.Handlers.ContentViewHandler.MapContent(IContentViewHandler handler, IContentView page)
at Microsoft.Maui.PropertyMapper`2.<>c__DisplayClass5_0[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IContentViewHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v)
at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView)
at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ContentViewHandler.SetVirtualView(IView view)
at Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Platform.ContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].SetVirtualView(IElement view)
at Microsoft.Maui.Controls.Element.SetHandler(IElementHandler newHandler)
at Microsoft.Maui.Controls.Element.set_Handler(IElementHandler value)
at Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler value)
at Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement view, IMauiContext context)
at Microsoft.Maui.Platform.ViewExtensions.ToHandler(IView view, IMauiContext context)
at Microsoft.Maui.Controls.Handlers.Items.TemplateHelpers.GetHandler(View view, IMauiContext context)
at Microsoft.Maui.Controls.Handlers.Items.TemplatedCell.Bind(DataTemplate template, Object bindingContext, ItemsView itemsView)
at Microsoft.Maui.Controls.Handlers.Items.ItemsViewController`1[[Microsoft.Maui.Controls.CarouselView, Microsoft.Maui.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].UpdateTemplatedCell(TemplatedCell cell, NSIndexPath indexPath)
at Microsoft.Maui.Controls.Handlers.Items.ItemsViewController`1[[Microsoft.Maui.Controls.CarouselView, Microsoft.Maui.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].GetCell(UICollectionView collectionView, NSIndexPath indexPath)
at Microsoft.Maui.Controls.Handlers.Items.CarouselViewController.GetCell(UICollectionView collectionView, NSIndexPath indexPath)
at UIKit.UIApplication.UIApplicationMain(Int32 argc, String[] argv, IntPtr principalClassName, IntPtr delegateClassName)
at UIKit.UIApplication.Main(String[] args, Type principalClass, Type delegateClass)
When using a CartesianGridLineAnnotation, if Value is not set, it causes an app crash. This does not happen on Android or Windows.
Code that crashes iOS app:
<telerik:RadCartesianChart x:Name="chart"
Grid.Row="0">
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:NumericalAxis x:Name="xAxis" />
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:NumericalAxis x:Name="yAxis" />
</telerik:RadCartesianChart.VerticalAxis>
<telerik:RadCartesianChart.Series />
<telerik:RadCartesianChart.Annotations>
<telerik:CartesianGridLineAnnotation x:Name="marker"
Axis="{x:Reference xAxis}"/>
</telerik:RadCartesianChart.Annotations>
<telerik:RadCartesianChart.ChartBehaviors>
<telerik:ChartSelectionBehavior x:Name="selection"
DataPointSelectionMode="Single"
SelectionChanged="ChartSelectionBehavior_SelectionChanged" />
</telerik:RadCartesianChart.ChartBehaviors>
</telerik:RadCartesianChart>
Work around, set Value to 0
<telerik:RadCartesianChart x:Name="chart"
Grid.Row="0">
<telerik:RadCartesianChart.HorizontalAxis>
<telerik:NumericalAxis x:Name="xAxis" />
</telerik:RadCartesianChart.HorizontalAxis>
<telerik:RadCartesianChart.VerticalAxis>
<telerik:NumericalAxis x:Name="yAxis" />
</telerik:RadCartesianChart.VerticalAxis>
<telerik:RadCartesianChart.Series />
<telerik:RadCartesianChart.Annotations>
<telerik:CartesianGridLineAnnotation x:Name="marker"
Axis="{x:Reference xAxis}"
Value="0"/>
</telerik:RadCartesianChart.Annotations>
<telerik:RadCartesianChart.ChartBehaviors>
<telerik:ChartSelectionBehavior x:Name="selection"
DataPointSelectionMode="Single"
SelectionChanged="ChartSelectionBehavior_SelectionChanged" />
</telerik:RadCartesianChart.ChartBehaviors>
</telerik:RadCartesianChart>