Select 范围在 wpf richtextbox 中获取行文本

Select Range get line Text in wpf richtextbox

我正在实施逐步对齐。

正在获取 rtb1 中的当前行。 并在 rtb2 中显示。

我要

第一行111111111111111

第二行222222222222222

三线3333333333333333

但是

第一行1111111111111111第二行22222222222222

三线3333333333333333

第四行4444444444444444

我不知道我的错误... 这..我的一些代码.. line 方法获取当前行, 所以,richTextLineIndex 是行的起始索引。

    private int GetTextPositionAndLength(int position, int lineIndex, out int length)
    {
        int richTextLineIndex = GetFirstCharIndexFromLine();

        TextPointer textpointer = rtb1.CaretPosition.DocumentStart;
        string line = Lines(count);

        if (position == 0)
        {
            length = GetTextLength(0, lineIndex);
            rtb2.AppendText(line);
            return richTextLineIndex;
        }
        rtb2.AppendText(line);

        return index + richTextLineIndex;
    }
    private string Lines(int LineIndex, string Default = "null")
    {
        TextPointer start= rtb1.CaretPosition.DocumentStart.GetPositionAtOffset(startPoint);
        TextPointer end = rtb1.CaretPosition;
        var range = new TextRange(start, end);
        line = range.Text;
        startPoint += line.Length;
        return line;
    }

你试过了吗

  rtb2.AppendText(line+"\r");

rtb2.Text = rtb2.Text + Environment.NewLine + line;