diff --git a/README.md b/README.md index 24747bd..9584329 100644 --- a/README.md +++ b/README.md @@ -1 +1,48 @@ **[View document in Syncfusion .NET MAUI Knowledge Base](https://www.syncfusion.com/kb/13167/how-to-identify-when-end-of-the-list-is-reached-on-scrolling-in-net-maui-listview)** + +## Sample + +```xaml + + + + + + + + + + + + + +C#: + +ListView.Loaded += ListView_Loaded; +VisualContainer = ListView.GetVisualContainer(); +VisualContainer.ScrollRows.Changed += ScrollRows_Changed; + +private void ListView_Loaded(object sender, EventArgs e) +{ + var header = (ListView.HeaderTemplate != null && !ListView.IsStickyHeader) ? 1 : 0; + var footer = (ListView.FooterTemplate != null && !ListView.IsStickyFooter) ? 1 : 0; + totalItems = ListView.DataSource.DisplayItems.Count + header + footer; +} + +private void ScrollRows_Changed(object sender, ScrollChangedEventArgs e) +{ + var lastIndex = VisualContainer.ScrollRows.LastBodyVisibleLineIndex; + + if (lastIndex != -1 && (lastIndex == totalItems - 1)) + { + if (!isAlertShown) + { + App.Current.MainPage.DisplayAlert("Alert", "End of list reached...", "Ok"); + isAlertShown = true; + } + } + else isAlertShown = false; +} +```