WPF XAML文本框插入符号的位置在末尾

时间:2020-03-28 12:28:50

标签: c# .net wpf vb.net xaml

我正在开发一个使用大量auf文本框的应用程序。如果他们获得焦点,则插入符号将位于文本框的第一个位置。即使已经存在文本。 我正在寻找一种解决方案,以便在他们获得焦点时将插入符号设置在FOR ALL Texbox文本的末尾。

我知道,我可以处理GotFocus()-Event,然后手动设置位置。但是,有没有更聪明的选择?

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用您所说的事件处理程序。

private void TextBox_GotFocus(object sender, RoutedEventArgs e)
{
    TextBox textBox = sender as TextBox;
    textBox.CaretIndex = textBox.Text.Length;
}

然后将此事件处理程序分配给每个TextBox

通用CaretIndex中的TextBox不是属性。因此,更智能的解决方案至少需要创建从TextBox继承的自定义控件。您可以通过这种方式将CaretIndex设置为属性。然后只需在xaml中将Style.Triggers与属性IsFocused一起使用。

相关问题