void scrollViewer_ScrollChanged_item(object sender, System.Windows.Controls.ScrollChangedEventArgs e) { int lastOffset = Convert.ToInt32(Application.Current.Properties["FindUserGridLastScrollOffset"] ?? "0"); if (Convert.ToInt32(e.VerticalOffset) > 0 && Convert.ToInt32(e.VerticalOffset) > lastOffset) { Application.Current.Properties["FindUserGridLastScrollOffset"] = e.VerticalOffset; Application.Current.Properties["FindUserGridCurrentPageIndex"] = Convert.ToInt32(Application.Current.Properties["FindUserGridCurrentPageIndex"] ?? "0") + 1; DelegateEventBillingPeriod.SetValueMethodPageNumberLineItem(Convert.ToInt32(Application.Current.Properties["FindUserGridCurrentPageIndex"] ?? "0")); } }
void scrollViewer_ScrollChanged(object sender, System.Windows.Controls.ScrollChangedEventArgs e) { int lastOffset = Convert.ToInt32(Application.Current.Properties["FindUserGridLastScrollOffset"] ?? "0"); var scrollViewer = this.grdBillingList.ChildrenOfType <GridViewScrollViewer>().FirstOrDefault(); if (scrollViewer != null) { // Below decides when to get the records // Implemented the logic that when scrollbar crosses more that half of the total available height var whenToScroll = scrollViewer.ScrollableHeight / 1.3; if (Convert.ToInt32(e.VerticalOffset) > 0 && Convert.ToInt32(e.VerticalOffset) > lastOffset && e.VerticalOffset > whenToScroll) { Application.Current.Properties["FindUserGridLastScrollOffset"] = e.VerticalOffset; Application.Current.Properties["FindUserGridCurrentPageIndex"] = Convert.ToInt32(Application.Current.Properties["FindUserGridCurrentPageIndex"] ?? "0") + 1; DelegateEventBillingPeriod.SetValueMethodPageNumber(Convert.ToInt32(Application.Current.Properties["FindUserGridCurrentPageIndex"] ?? "0")); } } }