Есть много похожих вопросов по Интернету, включая 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. Ничего из этого не работает, после выполнения строк, которые превышают высоту текстового поля, все равно необходимо прокрутить вручную. Извините за повторяющийся вопрос, я думаю, мне не хватает некоторых незначительных проблем, которые могут быть быстро решены кем-то, у кого есть свежее видение проблемы. Заранее спасибо.