WPF RichTextBox删除第一行或最后一行

时间:2016-08-14 01:31:29

标签: c# wpf line richtextbox

我想在超过x行后删除RichTextBox的第一行。

现在我有了这个代码来计算行数:

Int32 getLineCount(RichTextBox rtb)
{
    Int32 result = -1;

    rtb.CaretPosition = rtb.Document.ContentStart;

    while (rtb.CaretPosition.GetLineStartPosition(++result) != null)
    {
    }

    return result;
}

然而,实际删除RichTextBox的最后一行的代码很难做到。任何可以提供示例或链接的人,我可以找到如何做到这一点?

1 个答案:

答案 0 :(得分:1)

首先,您可以像这样添加文本到RichTextBox:

Paragraph p = box.Document.Blocks.FirstBlock as Paragraph;
TextRange textrange = new TextRange(box.Document.ContentEnd, box.Document.ContentEnd);
textrange.Text = text;

现在您可以使用以下代码删除第一行或最后一行:

box.Document.Blocks.Remove(box.Document.Blocks.FirstBlock); //First line
box.Document.Blocks.Remove(box.Document.Blocks.LastBlock); //Last line