Resizing the window on our UWP app or simply navigating to the page with the Telerik RadListView on UWP hangs the app. Scrolling performance is bad too. I have removed everything on this page and the only thing that continues to cause the poor performance the Telerik RadListView. We really only are binding to text, additionally I removed the Vector Image at the end of the row just in case that was an issue. I even removed the contents of the ListViewTemplateCell.View in case the issue was what we had for our template. The poor performance probably starts with items ranging from 200-300 items in the list. Performance for 900 items is absolutely terrible. Please help, we're looking to ship soon and don't want our customers having a terrible experience.
Here is what we have:
<!-- List -->
<
Grid
VerticalOptions
=
"FillAndExpand"
>
<
ScrollView
Margin
=
"{Binding SideSoftNavigationAdjustment}"
VerticalOptions
=
"FillAndExpand"
>
<
telerikDataControls:RadListView
x:Name
=
"ItemsList"
Margin
=
"20,0,0,0"
BackgroundColor
=
"Transparent"
ItemTapped
=
"ItemsList_OnItemTapped"
ItemsSource
=
"{Binding ItemsListViewModel.Items}"
SelectionMode
=
"Single"
VerticalOptions
=
"FillAndExpand"
>
<
telerikDataControls:RadListView.ItemTemplate
>
<
DataTemplate
>
<
telerikListView:ListViewTemplateCell
>
<
telerikListView:ListViewTemplateCell.View
>
<!-- need to use a grid as Telerik RadListView was having a problem with stack layout orientation horizontal -->
<
Grid
ColumnSpacing
=
"0"
HeightRequest
=
"55"
RowSpacing
=
"0"
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"{Binding SelectAllWidth}"
/>
<
ColumnDefinition
Width
=
"*"
/>
<
ColumnDefinition
Width
=
"Auto"
/>
</
Grid.ColumnDefinitions
>
<
mynamespace:VectorImage
Grid.Column
=
"0"
HeightRequest
=
"22"
HorizontalOptions
=
"Start"
IsVisible
=
"{Binding ShowSelectButton}"
SvgPath
=
"{Binding CheckedImageState}"
VerticalOptions
=
"CenterAndExpand"
WidthRequest
=
"22"
/>
<
StackLayout
Grid.Column
=
"1"
Spacing
=
"0"
VerticalOptions
=
"Center"
>
<
Label
FontAttributes
=
"Bold"
FontSize
=
"15"
LineBreakMode
=
"TailTruncation"
Text
=
"{Binding Name}"
TextColor
=
"{Binding ItemRowTextColor}"
VerticalTextAlignment
=
"End"
/>
<
Label
FontSize
=
"12"
LineBreakMode
=
"TailTruncation"
Text
=
"{Binding Subtitle}"
TextColor
=
"{Binding ItemRowTextColor}"
VerticalTextAlignment
=
"Start"
/>
</
StackLayout
>
<
mynamespace:VectorImage
Grid.Column
=
"2"
Margin
=
"0,0,10,0"
BackgroundColor
=
"Transparent"
HeightRequest
=
"24"
HorizontalOptions
=
"End"
IsVisible
=
"{Binding ShowSelectButton, Converter={StaticResource InverseBoolConverter}}"
SvgPath
=
"{Binding EndIcon}"
VerticalOptions
=
"CenterAndExpand"
WidthRequest
=
"24"
>
<
mynamespace:VectorImage.GestureRecognizers
>
<
TapGestureRecognizer
Command
=
"{Binding ItemRowOptionsCommand}"
NumberOfTapsRequired
=
"1"
/>
</
mynamespace:VectorImage.GestureRecognizers
>
</
mynamespace:VectorImage
>
</
Grid
>
</
telerikListView:ListViewTemplateCell.View
>
</
telerikListView:ListViewTemplateCell
>
</
DataTemplate
>
</
telerikDataControls:RadListView.ItemTemplate
>
<
telerikDataControls:RadListView.PressedItemStyle
>
<
telerikListView:ListViewItemStyle
BackgroundColor
=
"{Binding ItemManagementViewModel.ItemListRowSelectionColor}"
BorderColor
=
"{x:Static mynamespace:Colors.ItemListRowGreyLine}"
BorderLocation
=
"Bottom"
BorderWidth
=
"1"
/>
</
telerikDataControls:RadListView.PressedItemStyle
>
<
telerikDataControls:RadListView.SelectedItemStyle
>
<
telerikListView:ListViewItemStyle
BackgroundColor
=
"Transparent"
BorderColor
=
"{x:Static mynamespace:Colors.ItemListRowGreyLine}"
BorderLocation
=
"Bottom"
BorderWidth
=
"1"
/>
</
telerikDataControls:RadListView.SelectedItemStyle
>
<
telerikDataControls:RadListView.ItemStyle
>
<
telerikListView:ListViewItemStyle
BackgroundColor
=
"Transparent"
BorderColor
=
"{x:Static mynamespace:Colors.ItemListRowGreyLine}"
BorderLocation
=
"Bottom"
BorderWidth
=
"1"
/>
</
telerikDataControls:RadListView.ItemStyle
>
</
telerikDataControls:RadListView
>
</
ScrollView
>
<
telerikPrimitives:RadBusyIndicator
x:Name
=
"BusyIndicator"
AnimationContentColor
=
"{x:Static mynamespace:Colors.DarkMenuBlue}"
AnimationType
=
"Animation4"
HeightRequest
=
"150"
HorizontalOptions
=
"Center"
IsBusy
=
"{Binding ItemsManagementViewModel.IsRefreshing}"
VerticalOptions
=
"Start"
WidthRequest
=
"150"
/>
</
Grid
>