When using a RadListview with a Grid or a Stack Layout in iOS I get the following exception. I haven't tested using the stacklayout outside of the RadListView nor have I tested it outside of the ItemTemplateSelector
Telerik.XamarinForms.Common.NotRegisteredRendererException: There is no renderer registered for the specified type: Xamarin.Forms.Grid
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:telerikDataControls="clr-namespace:Telerik.XamarinForms.DataControls;assembly=Telerik.XamarinForms.DataControls"
xmlns:telerikListView="clr-namespace:Telerik.XamarinForms.DataControls.ListView;assembly=Telerik.XamarinForms.DataControls"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:d="http://xamarin.com/schemas/2014/forms/design"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:models="clr-namespace:AlertTest.Models"
mc:Ignorable="d"
xmlns:views="clr-namespace:AlertTest.Views"
x:Class="AlertTest.Views.MainPage">
<ContentPage.Resources>
<ResourceDictionary>
<DataTemplate x:Key="NonDivisibleTemplate">
<Grid>
<StackLayout Orientation="Vertical" Padding="10" Spacing="0" BackgroundColor="Yellow" InputTransparent="True" Unfocused="StackLayout_Unfocused">
<Label Text="{Binding ItemText}"/>
</StackLayout>
</DataTemplate>
<DataTemplate x:Key="DivisibleTemplate">
<Grid>
<StackLayout Orientation="Vertical" Padding="15" Spacing="0" BackgroundColor="White" Unfocused="StackLayout_Unfocused">
<Label Text="{Binding ItemText}" FontSize="Large" HorizontalTextAlignment="Center"/>
<Label Text="{Binding ItemText}" FontSize="Small" FontAttributes="Italic" TextColor="Gray"/>
</StackLayout>
</Grid>
</DataTemplate>
<models:MyDataTemplateSelector
x:Key="MyTemplateSelector"
NonDivisibleTemplate="{StaticResource NonDivisibleTemplate}"
DivisibleTemplate="{StaticResource DivisibleTemplate}" />
</ResourceDictionary>
</ContentPage.Resources>
<StackLayout VerticalOptions="StartAndExpand">
<!-- Place new controls here -->
<views:FloatingLabelEntry EntryText="{Binding EntryText}" Margin="20" BackgroundColor="Yellow" PlaceholderText="{Binding PlaceholderText}"/>
<Entry TextChanged="Entry_TextChanged" BackgroundColor="AliceBlue" Margin="20"/>
<telerikDataControls:RadListView x:Name="listView" ItemsSource="{Binding ListItems}" ItemTemplateSelector="{StaticResource MyTemplateSelector}" SelectionMode="Single" IsItemSwipeEnabled="False" >
<!--<telerikDataControls:RadListView.ItemSwipeContentTemplate>
<DataTemplate>
-->
<!--<Grid Margin="0"
Padding="0"
ColumnSpacing="0"
RowSpacing="0">-->
<!--<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>-->
<!--
<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<Label BackgroundColor="#2474d2"
HorizontalTextAlignment="Start"
HorizontalOptions="StartAndExpand"
Text="Mark as read"
TextColor="White"
VerticalTextAlignment="Center" />
<Label Grid.Column="2"
BackgroundColor="Red"
HorizontalTextAlignment="End"
HorizontalOptions="EndAndExpand"
Text="delete"
TextColor="White"
VerticalTextAlignment="Center"/>
</StackLayout>
-->
<!--</Grid>-->
<!--
</DataTemplate>
</telerikDataControls:RadListView.ItemSwipeContentTemplate>-->
</telerikDataControls:RadListView>
</StackLayout>
</ContentPage>
When an item in the ItemsSource of a ListView is null, a NullReferenceException will be raised on Android when the items source is loaded to the list view. Even if a DataTemplateSelector is applied to display a different datatemplate for null items, the app would still crash.
I attached a sample program that demonstrates the issue. On iOS the app runs fine, but on Android the app crash at launch with a NullReferenceException.
Thanks,
Kori
On Android when adding new item to the ListView which is RadExpander with RadListView inside it, and when removing and adding item with different length the cell is not measured correctly.
On iOS the ListView cell are not automatically sized. one height for cell is used
On UWP when adding the second item the app crashes with "System.ArgumentException: An item with the same key has already been added. Key: SDKBrowser.Examples.ListViewControl.GettingStartedCategory.GettingStartedExample.Product\r\n at System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException(Object key)\r\n at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)\r\n at Telerik.UI.Xaml.Controls.Data.ListView.Model.BaseLayoutStrategy.RecycleLocally()\r\n at Telerik.UI.Xaml.Controls.Data.ListView.Model.BaseLayout"
App hangs when ListView uses dynamic size for the cells:
iOS 16.7.5: Does not hangIf you have set a custom LoadOndemandItemTemplate when the ListView is in manual LoadOnDemand mode, once you click the Load More button - it gets invisible. Clicking on the area where the button should be is working, though. Available in the R2 2018 release.
Listview iOS: expose option to control selection visual position in relation to the main content. It will be very useful in scenarios such as grid layout with images