从段落中的插入符号位置获取特定内联

Get Particular Inline from the caret position in a paragraph

我在富文本框中有一个段落,我需要从插入符号中检索特定的内联 position.For 例如,如果该段落有 5 行,那么我需要知道光标现在在哪个内联中我想单独检索那个特定的内联。

您可以尝试这样的操作:

TextPointer caretPos = rtb.CaretPosition;
TextPointer startText = caretPos.GetLineStartPosition(0);
TextPointer endText = (caretPos.GetLineStartPosition(1) != null ? caretPos.GetLineStartPosition(1) : caretPos.DocumentEnd);
TextRange tr = new TextRange(startText, endText);

在 tr 中你会找到你的台词。

如果您从文件加载 Xml,您可能只有一个内联,如果您从代码创建文档并且您自己创建内联,您可以这样做:

TextPointer caretPos = rtb.CaretPosition;
Inline inline = caretPos.Parent;