如何在插入位置的WPF文本框中插入文本?我错过了什么?在Win32中,您可以使用CEdit :: ReplaceSel()。
它应该像调用Paste()命令一样工作。但我想避免使用剪贴板。
答案 0 :(得分:54)
只需在插入位置插入文字:
textBox.Text = textBox.Text.Insert(textBox.CaretIndex, "<new text>");
用新文本替换所选文本:
textBox.SelectedText = "<new text>";
将文本框滚动到插入位置:
int lineIndex = textBox.GetLineIndexFromCharacterIndex(textBox.CaretIndex);
textBox.ScrollToLine(lineIndex);
答案 1 :(得分:11)
如果要在插入的文本后移动插入符,则以下代码非常有用
textBox.SelectedText = "New Text";
textBox.CaretIndex += textBox.SelectedText.Length;
textBox.SelectionLength = 0;
答案 2 :(得分:9)
我自己找到了一个更简单的解决方案:
textBox.SelectedText = "New Text";
textBox.SelectionLength = 0;
然后滚动到眼镜猴所说的位置。
答案 3 :(得分:0)
使用TextBox.CaretIndex修改绑定到TextBox.Text属性的文本。