You can use
RichTextBox.CaretPosition
[
^] property to access the current index of caret inside the content.
Following code was captured from MSDN,
FlowDocument flowDoc = new FlowDocument();
flowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 1")));
flowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 2")));
flowDoc.Blocks.Add(new Paragraph(new Run("Paragraph 3")));
RichTextBox rtb = new RichTextBox(flowDoc);
TextPointer caretPos = rtb.CaretPosition;
caretPos = caretPos.DocumentEnd;
rtb.CaretPosition = caretPos;
You can see that these are a few of the methods how you can manipulate the caret position inside the document, you can get the position, as well as set the position.