我正在使用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支持这两个命令。
不过,请注意,当输入插入符号在单词内时,此命令会将其移动到该单词的开头,而不是前一个单词的开头。