如何获取 RichTextBox 的行数

How To Get The Line Count Of A RichTextBox

有没有简单的方法来模拟 TextBox.LineCountRichTextBox?我一直在查看其他帖子和解决方案,但它们已经非常过时了。

其他帖子:

Richtextbox lines count

How many Lines in RichTextBox

从控件中获取文本并将其拆分为带有 Environment.NewLine 分隔符的数组,然后您可以检查数组的长度以获取行数。

private void button_Click(object sender, RoutedEventArgs e)
{
    TextRange MyText = new TextRange(
    richTextBox1.Document.ContentStart,
    richTextBox1.Document.ContentEnd
     );

    string[] splittedLines = MyText.Text.Split(new[] { Environment.NewLine }
                                  , StringSplitOptions.None); // or StringSplitOptions.RemoveEmptyEntries

    MessageBox.Show(splittedLines.Length.ToString());
}

如果我没理解错的话,您希望行数包括由于自动换行而呈现多行的情况。如果是这种情况,您需要计算 richtextbox 文本中换行符的频率加上 richtextbox 宽度的因素来检测自动换行。