如何弄清楚是包装在富文本框中的段落

本文关键字:文本 段落 弄清楚 包装 | 更新日期: 2023-09-27 17:55:30

我想减小段落的字体大小以适合 RichTextBox 宽度,以防止用户键入某些文本时文本换行。我该怎么做?

如何弄清楚是包装在富文本框中的段落

一种方法是获取段落开头和结尾的起始行位置并进行比较:

TextPointer contentStart = _richTextBox.Document.ContentStart;
TextPointer contentEnd = _richTextBox.Document.ContentEnd;
while (true)
{
    var tpStart = contentStart.GetLineStartPosition(0);
    var tpEnd = contentEnd.GetLineStartPosition(0);
    var offset = tpStart.GetOffsetToPosition(tpEnd);
    if (offset != 0)
    {
        _richTextBox.FontSize -= 1; // at least two lines
    }
    else
    {
        break; // one line
    }
}