c#-移至只读TextBox中文本的末尾

我目前在WPF应用程序中有一个TextBox是只读的:

<TextBox x:Name="TextBox_CurrentDirectory" IsReadOnly="True"></TextBox>

文本在后面的代码中得到更新:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    var app = Application.Current as App;
    TextBox_CurrentDirectory.Text = app.ActiveDirectory;
    //Show the end of the text here
}

有没有办法让我以编程方式显示文本的结尾?如果TextBox中的文本长于TextBox,则仅显示开始并被截断.我希望能够显示文本的结尾.

我尝试使用

TextBox_CurrentDirectory.CaretIndex = TextBox_CurrentDirectory.Text.Length;

但是什么也没发生.

解决方法:

在设置CaretIndex之前,您需要给TextBox Focus以焦点.

TextBox_CurrentDirectory.Text = app.ActiveDirectory;
TextBox_CurrentDirectory.Focus();
TextBox_CurrentDirectory.CaretIndex = TextBox_CurrentDirectory.Text.Length;
上一篇:关于DBus (signal)的使用


下一篇:Windows窗体文本框或C#字符串本机方法,用于检查非字母数字字符