Hi,
I am using Load on Demand functionality in manual mode. I am customizing Load and Loading indicators. However, Loading indicator never shows, and after one load, the Load indicator does not reappear.
Sample XAML code is below
<
telerikDataControls:RadListView
x:Name
=
"PeopleListView"
BackgroundColor
=
"White"
ItemsSource
=
"{Binding Employees}"
IsLoadOnDemandEnabled
=
"True"
LoadOnDemand
=
"Handle_LoadOnDemand"
LoadOnDemandMode
=
"Manual"
IsItemSwipeEnabled
=
"True"
ItemSwiping
=
"PeopleListView_ItemSwiping"
SwipeOffset
=
"160, 0, 0, 0"
SwipeThreshold
=
"10"
SelectionGesture
=
"Tap"
SelectionMode
=
"Single"
SelectionChanged
=
"PeopleListView_SelectionChanged"
IsVisible
=
"{Binding IsBusy, Converter={StaticResource InverseBoolConverter}"
>
<
telerikDataControls:RadListView.ItemTemplate
>
<
DataTemplate
>
<
telerikListView:ListViewTemplateCell
>
<
telerikListView:ListViewTemplateCell.View
>
<
Grid
BackgroundColor
=
"White"
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"Auto"
></
ColumnDefinition
>
<
ColumnDefinition
Width
=
"*"
></
ColumnDefinition
>
<
ColumnDefinition
Width
=
"Auto"
></
ColumnDefinition
>
</
Grid.ColumnDefinitions
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"Auto"
></
RowDefinition
>
<
RowDefinition
></
RowDefinition
>
</
Grid.RowDefinitions
>
<
Image
Source
=
"{Binding PhotoData}"
Grid.RowSpan
=
"2"
Grid.Column
=
"0"
HeightRequest
=
"70"
WidthRequest
=
"70"
></
Image
>
<
Label
Grid.Column
=
"1"
Grid.Row
=
"0"
Margin
=
"0,3,0,0"
FontSize
=
"Medium"
Text
=
"{Binding FullName}"
></
Label
>
<
Label
Grid.Column
=
"1"
Grid.Row
=
"1"
VerticalTextAlignment
=
"Start"
VerticalOptions
=
"Start"
Text
=
"{Binding EmployeeTitle}"
></
Label
>
<
Image
Grid.Column
=
"2"
Grid.Row
=
"0"
Grid.RowSpan
=
"2"
Source
=
"icon"
WidthRequest
=
"30"
HeightRequest
=
"30"
>
<
Image.GestureRecognizers
>
<
TapGestureRecognizer
Tapped
=
"Handle_Tapped"
></
TapGestureRecognizer
>
</
Image.GestureRecognizers
>
</
Image
>
</
Grid
>
</
telerikListView:ListViewTemplateCell.View
>
</
telerikListView:ListViewTemplateCell
>
</
DataTemplate
>
</
telerikDataControls:RadListView.ItemTemplate
>
<
telerikDataControls:RadListView.LoadOnDemandItemTemplate
>
<
DataTemplate
>
<
Grid
BackgroundColor
=
"Red"
>
<
Label
FontSize
=
"24"
HorizontalOptions
=
"Center"
Text
=
"Load more"
TextColor
=
"Navy"
></
Label
>
</
Grid
>
</
DataTemplate
>
</
telerikDataControls:RadListView.LoadOnDemandItemTemplate
>
<
telerikDataControls:RadListView.LoadingOnDemandItemTemplate
>
<
DataTemplate
>
<
Grid
BackgroundColor
=
"Green"
>
<
Label
FontSize
=
"24"
HorizontalOptions
=
"Center"
Text
=
"... Loading ..."
TextColor
=
"Navy"
></
Label
>
</
Grid
>
</
DataTemplate
>
</
telerikDataControls:RadListView.LoadingOnDemandItemTemplate
>
</
telerikDataControls:RadListView
>
The sample load handler is below
async
void
Handle_LoadOnDemand(
object
sender, System.EventArgs e)
{
await Task.Delay(4000);
var service =
new
MockEmployeeService();
var data = service.GetEmployees();
int
i = 0;
foreach
(var item
in
data)
{
i++;
item.EmployeeTitle =
"LOD "
+ i;
item.FirstName =
"LOD "
+ i;
((ViewModel)
this
.BindingContext).Employees.Add(item);
}
}
The sample project is attached - project. Please let me know how to resolve this - I suspect I'm missing something in XAML, etc.
Thank you very much.