c# - 根据光标位置和当前选择以编程方式更改 WPF 文本框的文本

标签 c# wpf xaml textbox numpad

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

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

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

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

我可以用什么东西来做到这一点吗?我发现的唯一函数是 TextBoxBase.AppendText ,它不考虑光标位置或选择,而只是将输入的字符串附加到文本末尾。

最佳答案

使用TextBox.SelectedText ,它同时具有 setter 和 getter。

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

关于c# - 根据光标位置和当前选择以编程方式更改 WPF 文本框的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965868/

相关文章:

C# 命名空间问题

C# switch语句查询MYSQL数据库

.net - 如何抑制DataGrid单元格选择边框?

WPF ComboBox ItemTemplate 绑定(bind)到字符串集合

c# - 如何让我的 Windows 服务保持事件状态?

c# - 在 c# 中使用 #line 指令更改错误或警告的默认行号的原因是什么?

c# - 如何获取程序集中定义的 XAML 资源列表?

wpf - 基类 `Application` 在一种解决方案中未被识别为类型

wpf - 如何在 Mahapp 中的对话框中添加密码框

c# - 在 C# 中设置媒体元素源