互联网上有很多类似的问题,包括 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。这些都不起作用,在溢出文本框高度的执行行之后仍然需要手动滚动。抱歉重复的问题,我想我错过了一些可以由对问题有新见解的人快速解决的小问题。提前致谢。