在互联网上,包括Stack Overflow等网站,有很多类似的问题,但是提出的解决方案在我的情况下并不适用。 场景:在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中,选择和插入符号变通方法,将ScrollToEnd附加到TextChanged事件。这些都不起作用,执行后超出文本框高度的行仍需要手动滚动。抱歉重复问题,我想我错过了一些可以快速解决的小问题,需要有新视角看待问题。