C# 从TextPointer检索CharOffset

C# 从TextPointer检索CharOffset,c#,C#,我在RichTextBox中有一个序列:ABACADEF 我希望用户将鼠标悬停在序列上,让我知道他们正在查看序列中的第n个字符。如果用户将鼠标悬停在C上,我应该得到4 我从以下代码开始: Point mousePosition = Mouse.GetPosition(richTextBox); TextPointer position = richTextBox.GetPositionFromPoint(mousePosition, true); int offset = richTextBox

我在RichTextBox中有一个序列:ABACADEF

我希望用户将鼠标悬停在序列上,让我知道他们正在查看序列中的第n个字符。如果用户将鼠标悬停在C上,我应该得到4

我从以下代码开始:

Point mousePosition = Mouse.GetPosition(richTextBox);
TextPointer position = richTextBox.GetPositionFromPoint(mousePosition, true);
int offset = richTextBox.Document.ContentStart.GetOffsetToPosition(position);
但是,我不能使用getOffsetPosition(position);在richTextBox上,因为文本包含格式设置,所以偏移量与我期望的值不匹配。例如,由于B上的格式设置,C可能会返回8,而不是返回4。我希望获得忽略格式设置的偏移量

通过调试,我可以看到TextPointer包含成员变量“CharOffset”,它与我希望position返回的值相匹配。然而,就我所知,我无法访问它。是否有一种方法可以访问我错过的某个地方的该值,或者我必须以另一种方式访问该值