Hi,
I need to maintain scroll position (both horizontal and vertical) when moving across pages.
I tried the following code , but was unable to achieve the desired functionality.
Even after calling RestoreScrollPosition() the scrollviewer didn't change its position.
private void btnNext_Click(object sender, RoutedEventArgs e)
{
SetScrollPosition();
BindData();
RestoreScrollPosition();
}
private void SetScrollPosition()
{
GridViewScrollViewer svSummaryInfo = (GridViewScrollViewer)rtSummaryInfo.FindChildByType<GridViewScrollViewer>();
_dbVerticalOffset = svSummaryInfo.VerticalOffset;
_dbHorizontalOffset = svSummaryInfo.HorizontalOffset;
}
private
void RestoreScrollPosition()
{
GridViewScrollViewer
svSummaryInfo = (GridViewScrollViewer)rtSummaryInfo.FindChildByType<GridViewScrollViewer>();
if (svSummaryInfo != null)
{
svSummaryInfo.ScrollToHorizontalOffset(_dbHorizontalOffset);
svSummaryInfo.ScrollToVerticalOffset(_dbVerticalOffset);
}
}
Please provide a code snippet for the same.
I need to maintain scroll position (both horizontal and vertical) when moving across pages.
I tried the following code , but was unable to achieve the desired functionality.
Even after calling RestoreScrollPosition() the scrollviewer didn't change its position.
private void btnNext_Click(object sender, RoutedEventArgs e)
{
SetScrollPosition();
BindData();
RestoreScrollPosition();
}
private void SetScrollPosition()
{
GridViewScrollViewer svSummaryInfo = (GridViewScrollViewer)rtSummaryInfo.FindChildByType<GridViewScrollViewer>();
_dbVerticalOffset = svSummaryInfo.VerticalOffset;
_dbHorizontalOffset = svSummaryInfo.HorizontalOffset;
}
private
void RestoreScrollPosition()
{
GridViewScrollViewer
svSummaryInfo = (GridViewScrollViewer)rtSummaryInfo.FindChildByType<GridViewScrollViewer>();
if (svSummaryInfo != null)
{
svSummaryInfo.ScrollToHorizontalOffset(_dbHorizontalOffset);
svSummaryInfo.ScrollToVerticalOffset(_dbVerticalOffset);
}
}
Please provide a code snippet for the same.