В Интернете есть много похожих вопросов, включая SO, но предлагаемые решения не работают в моем случае. Сценарий: в xaml есть текстовое поле журнала
<TextBox Name="Status"
Margin="5"
Grid.Column="1"
Grid.Row="5"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="600"
Height="310"/>
В коде программной части есть методы, которые выполняют некоторую работу и добавляют несколько многострочных (может быть, в этом проблема?) Сообщений в это текстовое поле:
private static void DoSomeThings(TextBox textBox)
{
// do work
textBox.AppendText("Work finished\r\n"); // better way than Text += according to msdn
// do more
textBox.AppendText("One more message\r\n");
...
}
private static void DoSomething2(TextBox textBox)
{
// same as first method
}
После выполнения всех действий необходимо прокрутить текстовое поле вниз. Пробовал ScrollToEnd (), ScrollToLine, перенос текстового поля в ScrollViewer, обходные пути Selection и Caret, прикрепляя ScrollToEnd к TextChanged. Ничего из этого не работает, после того, как строки выполнения, которые превышают высоту текстового поля, все равно необходимо прокрутить вручную. Извините за повторяющийся вопрос, я полагаю, мне не хватает некоторых незначительных проблем, которые могут быть быстро решены кем-то, у кого есть свежее видение проблемы. Заранее спасибо.