Поиск визуального дерева - лучший способ получить объект ScrollViewer.
DependencyObject obj = this.DocumentScrollViewer;
do
{
if (VisualTreeHelper.GetChildrenCount(obj) > 0)
{
obj = VisualTreeHelper.GetChild(obj as Visual, 0);
}
}
while (!(obj is ScrollViewer));
this.scroller = obj as ScrollViewer;
Он поставляется с такими методами, как ScrollToVerticalOffset (..) и ScrollableHeight, которые позволяют мне делать все, что яхотел.