В Интернете есть много похожих вопросов по Интернету, включая 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
}
Вам нужно прокрутить до нижней части текстового поля после всех действий. Tried ScrollToEnd(), ScrollToLine, обертывание текстового поля в обходные пути ScrollViewer, Selection и Caret, добавление ScrollToEnd в TextChanged. Ничто из этого не работает, после того, как строки выполнения, которые превышают высоту текстового поля, все равно нужно прокручивать вручную. Извините за повторяющийся вопрос, я думаю, что у меня отсутствуют некоторые незначительные проблемы, которые могут быть быстро решены кем-то, у которого есть новое видение проблемы. Спасибо заранее.