使用ScrollToEnd()方法将文本光标滚动文本末尾。
创建一个简单的WPF App测试该功能。
XMAL代码如下:
<Grid.ColumnDefinitions>
</Grid.ColumnDefinitions>
测试TextBox光标停留在文本末尾
光标停留在文本末尾方式2
后台代码:
private async void btnRun_Click(object sender, RoutedEventArgs e)
{
Random rnd = new Random();
txtMsg.Text = “”;
for(int i=0; i<1000; i++)
{
await Task.Delay(300);
txtMsg.AppendText(“Test Point " + rnd.Next(1, 100).ToString() + " running…” +Environment.NewLine);
txtMsg.ScrollToEnd();// 光标定位到插入的地方
}
}
private async void btnRun2_Click(object sender, RoutedEventArgs e)
{
this.txtMsg.Focus();
this.txtMsg.Clear();
while(true)
{
await Task.Delay(500);
this.txtMsg.Text += “Runnig…\n”;
this.txtMsg.Select(this.txtMsg.Text.Length, 0);//光标定位到文本最后
this.txtMsg.ScrollToEnd();
}
}