WPF FlowDocument中的Inline级元素

本文介绍了FlowDocument中的Inline类及其派生类Run、Span和InlineUIContainer,包括它们的共同特点如基线对齐、内容流方向,以及各自的独特功能。重点讲解了如何利用这些元素进行文本显示、多元素组合和UI组件嵌入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FlowDocument中的Inline级元素

Inline是流文档中的行级元素。每一个Inline相当于一行内容。没有特别指定的话,Inline不会换行。
比如一行文字就是一个Inline。用Run实现类来表示。
或者想要在一行中加上一个小图片,小图标。可以用InlineUIContainer实现类来表示。
或者想把多个句子归为一类,就可以使用Span实现类来表示。

无论他有怎样的实现类,他们都有一些共同的特点。
**都是行级元素。**因此把他们共同的特点提取出来,就是他们的共同父类——Inline

一、共同父类Inline

Inline之间是链表结构。每个Inline都是一个节点。因此,可以快速的找到上一个Inline或下一个Inline
想要了解一个类具有哪些功能,能做哪些事情。最简单的方法就是看这个类有那些属性和方法。

属性
1) BaselineAlignment

获取或设置 Inline 元素的基线对齐方式。
用于指示Inline的显示位置,比如说BaselineAlignment.Top居上啊,BaselineAlignment.Bottom居下啊,之类的。

2) FlowDirection

获取或设置一个值,该值指定 Inline 元素中内容流的相对方向。
这个属性只有两个枚举值,FlowDirection.LeftToRightFlowDirection.RightToLeft
表示内容是从左往右的还是从右往左的。
因为有些语言他是从右往左写的。所以有时需要做区分。

3) NextInline

获取与此元素对等的下一个 Inline 元素。

4) PreviousInline

获取与此元素对等的上一个 Inline 元素。

5) SiblingInlines

获取一个 InlineCollection,它包含与此元素同级(对等)的 Inline 元素。
可以获取当前Inline所在的集合。

6) TextDecorations

获取一个 TextDecorationCollection,它包含要应用于此元素的文本修饰。
有4个枚举值,作用是在这个Inline上画横线,
比如加下划线,取消线,上面划线之类的。

二、Inline的派生类

派生类都具有上述属性,然后包含少数独特的属性。

1. Run

Run其实就是普通显示的文本。所以他只比Inline多一个Text属性。用于记录要显示的内容。

新增的属性Text
获取或设置此文本 Run 的未格式化文本内容。

2. Span

Span用于包含复数个Inline。但同时也是行级元素。不会换行。
因此,比Inline多了一个Inlines属性。用于记录包含的Inline

新增的属性Inlines
获取包含顶级 Inline 元素的 InlineCollection,前者构成 Span 的内容。

3. InlineUIContainer

可以在流文档中放置控件。例如:Grid,Button等等,
多了一个Child属性,用于记录包含的UIElement

新增的属性Child
获取或设置由 InlineUIContainer 承载的 UIElement

4. LinkBreak

换行符。

三、总结

Inline元素很简单
派生类只有很少几种。功能也很单一。
Run用来显示文字。
Span用来包含复数Inline元素。
InlineUIContainer用来在流文档放置控件。
LinkBreak用来换行。
此外他们都有一些共同的功能,
一些文字装饰,一些访问相邻元素的功能。仅此而已。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑我归无处

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值