【发布时间】:2019-05-02 05:24:00
【问题描述】:
我在 UWP 项目中有多个文本框。如果我在文本框中按向下键,光标会跳到文本的末尾;除非光标在最前面。如果光标位于文本的前面,则按下不会执行任何操作。即使光标在最前面,有没有办法让光标在按下键时跳到文本的末尾?
我做了一个新的 UWP 项目来测试这个,上面的功能是默认的。
【问题讨论】:
标签: c# user-interface uwp
我在 UWP 项目中有多个文本框。如果我在文本框中按向下键,光标会跳到文本的末尾;除非光标在最前面。如果光标位于文本的前面,则按下不会执行任何操作。即使光标在最前面,有没有办法让光标在按下键时跳到文本的末尾?
我做了一个新的 UWP 项目来测试这个,上面的功能是默认的。
【问题讨论】:
标签: c# user-interface uwp
您可以在 PreviewKeyDown 事件中使用 SelectionStart 和 SelectionLength 属性
注意: e.Handled 必须设置为 false
/*Xaml Code*/
<TextBox x:Name="SelectionTextBox" PreviewKeyDown="SelectionTextBox_PreviewKeyDown"/>
//C# code
private void SelectionTextBox_PreviewKeyDown(object sender, KeyRoutedEventArgs e)
{
if (e.Key == Windows.System.VirtualKey.Down)
{
SelectionTextBox.SelectionStart = SelectionTextBox.Text.Length - 1;
SelectionTextBox.SelectionLength = 0;
}
else
{
e.Handled = false;
}
}
【讨论】: