El efecto es como:
Analizando deslizado al foco inferior DataGrid (VerticalOffset igual ScrollableHeight), continuar para cargar los datos
private void DataGrid_ScrollChanged(object sender, ScrollChangedEventArgs e)
{
var scrollViewer = e.OriginalSource as ScrollViewer;
if (e.VerticalOffset!=0 && e.VerticalOffset == scrollViewer.ScrollableHeight)
{
GenerateData();
}
}