Поместите TextBlock в просмотрщик прокрутки. Захватите событие, когда пользователь вводит текст в ваш TextBox. Убедитесь, что оно действительно для текущего слова, а затем прокрутите текстовый блок.
Вот пример. Я просто прокручиваю каждый раз, когда пользователь нажимает клавишу пробела, вы хотите проверить правильность введенного слова.
XAML:
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="25" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<TextBox Name="txtInput" KeyUp="TextBox_KeyUp" Width="200" Grid.Row="0" />
<ScrollViewer Name="scrollViewer" Grid.Row="1" MaxHeight="25" MaxWidth="250" VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Hidden">
<TextBlock>
One
<LineBreak />
Two
<LineBreak />
Three
<LineBreak />
Four
<LineBreak />
Five
</TextBlock>
</ScrollViewer>
</Grid>
И код для события 'KeyUp':
private void TextBox_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key.ToString().ToLower() == "space")
{
scrollViewer.ScrollToVerticalOffset(scrollViewer.VerticalOffset + 15);
}
}