如何将当前单词插入符号位置移动到richtextboxwpf中的前一个单词中



我正在使用WPF C#Windows应用程序编写一个应用程序。我想在richtextbox内容中逐字导航。我是如何做到的。我已经试着把当前单词移到下一个单词导航了。我正在使用以下代码。

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);

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

注意:我已经使用内容开始和插入符号位置获得了前面的单词。但它给出了类似的字符串。我想要textpointer值来移动前一个单词。

问候Arjun

您可以使用MoveRightByWord和MoveLeftByWord命令执行以下操作:

EditingCommands.MoveLeftByWord.Execute(null, richTextBox);

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

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

最新更新