关于光标位置和当前选择,以编程方式更改WPF TextBox的文本

时间:2018-06-21 10:07:50

标签: c# wpf xaml textbox numpad

我正在为我的WPF应用程序实现某种NumericKeypad控件,客户端可以使用它方便地通过触摸屏输入文本。

控件本身运行良好,我什至设法在前台运行控件(这是一个窗口),而作为输入目标的文本框保留了焦点和选择。

现在,我想将用户的输入添加到TextBox的Text属性中,就像用户使用键盘输入它们一样。这意味着应该遵守某些行为,例如...

  • 当光标位于文本之间时,应将字符放置到光标当前所在的位置。
  • 选择了某些内容后,应将所选内容替换为输入的字符。

有什么我可以用来做的吗?我找到的唯一函数是TextBoxBase.AppendText,它不考虑光标的位置或选择,而只是将输入的String附加到Text的末尾。

1 个答案:

答案 0 :(得分:3)

使用TextBox.SelectedText,它既有一个setter也有一个getter。

如果未选择任何文本,则SelectedText是插入符号位置的零长度范围。