내 System.Windows.Controls.RichTextBox에서 주어진 단어의 TextRange를 찾고 싶습니다. 그러나 처음 발견 된 단어 다음에 올바른 PositionAtOffset을 제공하지 않습니다. 첫 번째 단어가 맞고 다음 단어가 발견되면 단어의 위치가 올바르지 않습니다. 올바른 방법을 사용하고 있습니까? listOfWordsRichTextBox에서 TextRange를 찾는 방법 (두 TextPointer 사이)
Word= listOfWords[j].ToString();
startPos = new TextRange(transcriberArea.Document.ContentStart, transcriberArea.Document.ContentEnd).Text.IndexOf(Word.Trim());
leftPointer = textPointer.GetPositionAtOffset(startPos + 1, LogicalDirection.Forward);
rightPointer = textPointer.GetPositionAtOffset((startPos + 1 + Word.Length), LogicalDirection.Backward);
TextRange myRange= new TextRange(leftPointer, rightPointer);
TextPointer.GetPositionAtOffset의 오프셋은 '기호'가 아니므로이 코드는 일반적으로 작동하지 않습니다. 대부분의 경우 문자열에 공백이 포함되거나 단어가 UIElements로 확장 될 수있는 비영어권 언어 일 수 있습니다. – Mark