Назовите свой ScrollViewer, чтобы вы могли получить к нему доступ в следующем коде, например:
<ScrollViewer x:Name="MyScrollViewer" VerticalScrollBarVisibility="Auto" >
<TextBlock Text="{Binding Status}"
HorizontalAlignment="Center" />
</ScrollViewer>
Затем вы можете сделать это:
Status+= Environment.NewLine + "Hi";
MyScrollViewer.ScrollToEnd();
С тем, как я делаю MVVM,У меня есть доступ к моей ViewModel из моего View, поэтому при первой загрузке View я подписываюсь на событие PropertyChanged в моей ViewModel следующим образом:
MyViewModel.PropertyChanged += ViewModelChanged;
и затем в обратном вызове ViewModelChangedthis:
private void ViewModelChanged(object sender, PropertyChangedEventArgs e)
{
if (e.PropertyName == "Status")
MyScrollViewer.ScrollToEnd();
}
Каждый раз, когда свойство ViewModel изменяется, ScrollViewer теперь прокручивается до конца.Просто не забудьте отписаться от MyViewModel.PropertyChanged при выходе из этого экрана, чтобы избежать утечки памяти.