【发布时间】:2009-09-26 00:25:39
【问题描述】:
我想要的只是我所有的文本框默认设置它们的光标在文本的末尾,所以我想要伪代码:
if (TextChanged) textbox.SelectionStart = textbox.Text.Length;
因为我希望我的应用程序中的所有文本框都受到影响,所以我想为此使用一种样式。这个行不通(原因很明显),但你明白了:
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<EventTrigger RoutedEvent="TextChanged">
<EventTrigger.Actions>
<Setter Property="SelectionStart" Value="{Binding Text.Length}"/>
</EventTrigger.Actions>
</EventTrigger>
</Style.Triggers>
</Style>
编辑: 一件重要的事情是,仅当 Text 属性以编程方式分配时才应设置 SelectionStart 属性,而不是在用户编辑文本框时设置。
【问题讨论】: