[WPF] RichTextBox如何显示省略号?

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

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

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

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

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

处理前的流文本示例:

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

处理后的流文本示例:

XML 复制代码
<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>

以上方法,就可以简单的实现省略号的功能了。

相关推荐
武藤一雄11 小时前
.NET 中常见计时器大全
microsoft·微软·c#·.net·wpf·.netcore
MarkHD15 小时前
车辆TBOX科普 第70次 AUTOSAR Adaptive、容器化与云原生的融合革命
云原生·wpf
极客智造15 小时前
WPF Behavior 实战:自定义 InvokeCommandAction 实现事件与命令解耦
wpf
L、21815 小时前
Flutter 与 OpenHarmony 深度集成:构建分布式多端协同应用
分布式·flutter·wpf
布伦鸽15 小时前
C# WPF -MaterialDesignTheme 找不到资源“xxx“问题记录
开发语言·c#·wpf
小二·1 天前
MyBatis基础入门《十五》分布式事务实战:Seata + MyBatis 实现跨服务数据一致性
分布式·wpf·mybatis
helloworddm2 天前
UnregisterManyAsync
wpf
军训猫猫头2 天前
3.NModbus4 长距离多设备超时 C# + WPF 完整示例
c#·.net·wpf·modbus
Aevget2 天前
DevExpress WPF中文教程:Data Grid - 如何绑定到有限制的自定义服务(一)?
ui·.net·wpf·devexpress·ui开发·wpf界面控件
Macbethad2 天前
半导体设备工厂自动化软件技术方案
wpf·智能硬件