在插入位置将文本插入WPF文本框

时间:2010-01-22 12:49:39

标签: wpf textbox

如何在插入位置的WPF文本框中插入文本?我错过了什么?在Win32中,您可以使用CEdit :: ReplaceSel()。

它应该像调用Paste()命令一样工作。但我想避免使用剪贴板。

4 个答案:

答案 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属性的文本。