如何将当前单词插入位置移动到richtextbox wpf中的前一个单词?

时间:2015-11-23 06:51:01

标签: wpf c#-4.0 richtextbox

我正在使用WPF C #Windows应用程序编写应用程序。我想在richtextbox content.how中逐字导航,我就完成了它。 我已经尝试将当前单词移动到下一个单词navigation.its工作。我正在使用以下代码。

TextPointer starting = txtAppendValue.Document.ContentStart;
            startval = txtAppendValue.CaretPosition;
            text = startval.GetTextInRun(LogicalDirection.Backward);
            newWord = txtAppendValue.CaretPosition.GetNextInsertionPosition(LogicalDirection.Forward);
            if (newWord != null)
            {

                txtAppendValue.CaretPosition = newWord;
                txtptrCaret = txtAppendValue.CaretPosition;
                NextStringvalue = txtptrCaret.GetTextInRun(LogicalDirection.Forward);
                {
                    txtptrCaret = txtAppendValue.CaretPosition;
                    range1 = new TextRange(starting, txtptrCaret);
                    indexInText = range1.Text.Length;
                }}

这下面的行新词文本指针给下一个单词结束内容。

newWord = txtAppendValue.CaretPosition.GetNextInsertionPosition(LogicalDirection.Forward);

那么现在我如何获得前一个单词和所有其他单词文本指针?

注意:我已经使用内容start和caretposition获得了之前的单词。但是它提供了类似的字符串。我希望textpointer值移动每个前一个单词。

此致 阿琼

1 个答案:

答案 0 :(得分:0)

您可以使用MoveRightByWordMoveLeftByWord命令:

EditingCommands.MoveLeftByWord.Execute(null, richTextBox);

根据文档,RichTextBox支持这两个命令。

但请注意,当输入插入符号 一个单词时,此命令会将其移动到该单词的开头,而不是前一个单词的开头。