Having ContentViews for left and right item swipe
The ListView crashes
I tried to make an horizontal listview, using ListViewGridLayout. I want only one row with all the items from the collection.
I don't know how to set the SpanCount properly.
In the template, the image is not displayed (the function ImageResource is working in other control), only the Label is displayed.
<telerik:RadListViewI have a collection of items, and one of the properties notifies changes to the UI. ("BooleanProperty") I also bind to the SelectedItem property on the list view to toggle this bool property to true or false.
I have another property "Description" that I am sorting by. When sorting the ListView and select an item, the items with the same value are reordered.
When setting margin to the elements in the template, the margin is not respected
When updating to .net8 the following snippet doesn't work with target net8 (maui 8.0.3). Same works with net7 (up to 7.101).
Stops me from targeting net8.
<telerik:RadListView.FooterTemplate>
<DataTemplate>
<Grid
BackgroundColor="{AppThemeBinding Dark={StaticResource ListElementColorDark},
Light={StaticResource ListElementColorLight}}"
IsVisible="{Binding CanSearchMore}">
<telerik:RadBorder Padding="8,10" Style="{StaticResource ListItemContainer}">
<Label HorizontalOptions="Start" Text="{Binding SearchMoreText}" />
</telerik:RadBorder>
<Grid.GestureRecognizers>
<TapGestureRecognizer Command="{Binding SearchMoreCommand}" />
</Grid.GestureRecognizers>
</Grid>
</DataTemplate>
</telerik:RadListView.FooterTemplate>
1. TapGestureRecognizer: Command is not executed / Click not detected
2. Style: Having a PointerOver in "ListItemContainer" works with net7. Doesn't work with net8
The issue occurs on iOS version > 16.
Android: when tapping on load on demand template the data is not loaded.
If you use the LoadOnDemandCommand you can bind the command to the button inside the template.
On WinUI there is an exception runtime
Workaround:
Use automatic load on demand mode or bind the command to the template
It took me about 2 days, but finally i've reached out a repo out of the real world app, where the iOS RadListView crashes the app.
Start this repo app on a iPhone 15 Simulator:
https://github.com/baaaaif/TelerikListViewCrash
The ListView crashes the app when the cell is quite high and the height of the list and the height of the cell reach a certain (unknown) ratio
This is in the logs right before the crash :
Native Crash Reporting
TelerikListViewCrash : -[TKListViewLayoutChange applyToAll:] 0x1023126e0 - /Users/nicokuenzler/Library/Developer/CoreSimulator/Devices/47FE3DF0-D39D-427A-9E82-0FCD7B14D208/data/Containers/Bundle/Application/88F8A1C5-46EB-4C80-A80D-A2699030842A/TelerikListViewCrash.app/TelerikListViewCrash : -[TKListViewLayoutChangeManager optimize] 0x10237e174 - /Users/nicokuenzler/Library/Developer/CoreSimulator/Devices/47FE3DF0-D39D-427A-9E82-0FCD7B14D208/data/Containers/Bundle/Application/88F8A1C5-46EB-4C80-A80D-A2699030842A/TelerikListViewCrash.app/TelerikListViewCrash : -[TKListViewLinearLayout layoutAttributesForElementsInRect:] 0x184a7f6c4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionViewData _layoutAttributesForElementsInRectForMapping:] 0x185347778 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[_UICollectionViewDataAttributesMap _validateLayoutInRect:] 0x184a81770 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionViewData validateLayoutInRect:] 0x184a824d4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionViewData layoutAttributesForElementsInRect:] 0x184a444b4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionView _updateVisibleCellsNow:] 0x184a451c8 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionView _updateVisibleCellsNow:] 0x184a49ec4 - /Library/Developer/CoreSimulator/Volumes/iOS_21C62/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 17.2.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore : -[UICollectionView layoutSubviews] 0x10240bce4 - /Users/nicokuenzler/Library/Developer/CoreSimulator/Devices/47FE3DF0-D39D-427A-9E82-0FCD7B14D208/data/Containers/Bundle/Application/88F8A1C5-46EB-4C80-A80D-A2699030842A/TelerikListViewCrash.app/TelerikListViewCrash : -[TKCollectionView layoutSubviews]
When the VerticalItemSpacing is greater than 1 and an ItemStyle with a Border is defined the background of the item is overlapping the border.
<telerik:RadListView Grid.Column="0" ItemsSource="{Binding Source}">
<telerik:RadListView.LayoutDefinition>
<telerik:ListViewLinearLayout Orientation="Vertical" VerticalItemSpacing="4" />
</telerik:RadListView.LayoutDefinition>
<telerik:RadListView.ItemStyle>
<telerik:ListViewItemStyle
BackgroundColor="Green"
BorderColor="LightGreen"
BorderLocation="All"
BorderWidth="1" />
</telerik:RadListView.ItemStyle>
<telerik:RadListView.SelectedItemStyle>
<telerik:ListViewItemStyle
BackgroundColor="Orange"
BorderColor="OrangeRed"
BorderLocation="All"
BorderWidth="1" />
</telerik:RadListView.SelectedItemStyle>
<telerik:RadListView.PressedItemStyle>
<telerik:ListViewItemStyle
BackgroundColor="Orange"
BorderColor="OrangeRed"
BorderLocation="All"
BorderWidth="1" />
</telerik:RadListView.PressedItemStyle>
<telerik:RadListView.ItemTemplate>
<DataTemplate x:DataType="local:SourceItem">
<telerik:ListViewTemplateCell>
<telerik:ListViewTemplateCell.View>
<Grid>
<Label Margin="10" Text="{Binding Name}" />
</Grid>
</telerik:ListViewTemplateCell.View>
</telerik:ListViewTemplateCell>
</DataTemplate>
</telerik:RadListView.ItemTemplate>
</telerik:RadListView>
if you start to reorder an item, and then drop it in the same position that it already had (i.e. abort/cancel the reorder) , the gray color is now stuck. The issue happens only on Android.