RichTextBox是个很强大的文本组件,它可以用于显示各种复杂的富文本。

通常用富文本显示内容,通常是可以支持滚动显示,所以常规场景下是用不到省略号的。但是也不乏有些场景需要用到 省略号。比如:文本内容的简述。

下面来分享一种比较简单的实现方法,来实现富文本省略号逻辑。

我们都知道WPF里面有TextBlock组件,它是一个相对比较轻量的文本组件,使用频率也是比较高的。它可以支持直接文本,也可以直接内联(Inlines)文本,如:Run标签。TextBlock本身也支持TextTrimming,可以用来显示省略号。

所以呢,要让RichTextBox来支持省略号的思路就比较简单,只需要在它的段落里面,内嵌TextBlock即可。

处理前的流文本示例:


<FlowDocument xml:space="preserve" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Paragraph>        
            <Run Foreground="red">[红包]</Run>
            <Run Foreground="green">恭喜发财,大吉大利</Run>       
    </Paragraph>
</FlowDocument>

处理后的流文本示例:

<FlowDocument xml:space="preserve" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
    <Paragraph>
        <TextBlock TextTrimming="CharacterEllipsis" Foreground="blue">
            <Run Foreground="red">[红包]</Run>
            <Run Foreground="green">恭喜发财,大吉大利</Run>            
        </TextBlock>
    </Paragraph>
</FlowDocument>

以上方法,就可以简单的实现省略号的功能了,后面我会再分享一个组件,用来支持 htmlRichTextBox

欢迎转载分享,如若转载,请标注署名。

博客链接1:https://huchengv5.gitee.io/

博客链接2:https://huchengv5.github.io/

微信公众号:

承哥技术交流小作坊


本文会经常更新,请阅读原文: https://huchengv5.gitee.io//post/WPF-RichTextBox%E5%A6%82%E4%BD%95%E6%98%BE%E7%A4%BA%E7%9C%81%E7%95%A5%E5%8F%B7.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名胡承(包含链接: https://huchengv5.gitee.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系