Получить конкретную строку из позиции курсора в абзаце

У меня есть абзац в расширенном текстовом поле, где мне нужно получить конкретную строку из позиции каретки. Например, если абзац имеет 5 строк In, тогда мне нужно знать, в какой строке сейчас находится курсор, и я хочу получить эту конкретную строку в одиночестве.


person jeevan_jk    schedule 15.09.2015    source источник


Ответы (1)


Вы можете попробовать что-то вроде этого:

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;
person Giangregorio    schedule 15.09.2015