首页 技术 正文
技术 2022年11月23日
0 收藏 344 点赞 3,658 浏览 2088 个字

本内容模型概述描述了 TextElement 支持的内容。 Paragraph 类是 TextElement 的类型。 内容模型描述哪些对象/元素可以包含在其他对象/元素中。 本概述汇总了派生自 TextElement 的对象所使用的内容模型。 有关更多信息,请参见流文档概述

TextElement 的类所使用的内容模型,以及其他非 TextElement 类如何适应该模型进行了汇总。

WPF TextElement内容模型简介(转)

如上面的关系图所示,元素可以具有的子元素不一定通过某个类派生自 Block 类还是 Inline 类来确定。 例如,Span(从 Inline 派生的类)只能具有 Inline 子元素,但是 Figure(也是从 Inline 派生的类)只能具有 Block 子元素。 因此,关系图可用于快速地确定哪些元素可以包含在其他元素中。 例如,我们可以使用关系图来确定如何构造 RichTextBox 的流内容。

  1. 一个 RichTextBox 必须包含一个 FlowDocument,而后者又必须包含一个派生自 Block 的对象。 下图是上述关系图中的相应一部分。

    WPF TextElement内容模型简介(转)

    到此为止,标记可能类似于所示内容。

     

  2. 按照该关系图,存在多个可以从中进行选择的 Block 元素,包括 ParagraphSectionTableList 和 BlockUIContainer(请参见上图中从 Block 派生的类)。 假设我们需要一个 Table。 按照上面的关系图,一个 Table 包含一个 TableRowGroup,后者包含多个TableRow 元素,这些行元素又包含多个 TableCell 元素,而这些单元格元素又包含一个从 Block 派生的对象。 下图是本文档内第一个关系图中与 Table 相对应的一部分。

    WPF TextElement内容模型简介(转)

    下面是相应的标记。

     

  3. 同样,TableCell 下需要一个或多个 Block 元素。 为简单起见,我们在单元格内部放置一些文本。 可以使用一个带有 Run 元素的Paragraph 来实现该操作。 下图是本文档内第一个关系图中的一部分,由该图可见,Paragraph 可以包含一个 Inline 元素,而 Run(一个 Inline 元素)只能包含纯文本。

    WPF TextElement内容模型简介(转)WPF TextElement内容模型简介(转)

下面是标记中的完整示例。

 TextElement 的内容由集合组成,因此,可以通过处理这些集合来以编程方式操作 TextElement 对象的内容。 从 TextElement 派生的类可以使用以下三个不同的集合:

可以从这些集合中,分别使用 InlineBlock 和 ListItem 的属性来进行操作(添加或移除项)。 下面的示例演示如何使用 Inline 属性来操作 Span 的内容。

WPF TextElement内容模型简介(转)注意

Table 使用多个集合来操作其内容,但是这里我们不对其进行说明。 有关更多信息,请参见表概述

下面的示例创建一个新 Span 对象,然后使用 Add 方法添加两个文本运行,作为 Span 的子内容。

Span spanx = new Span();
spanx.Inlines.Add(new Run("A bit of text content..."));
spanx.Inlines.Add(new Run("A bit more text content..."));

下面的示例创建一个新 Run 元素并将其插入到 Span 的开始位置。

Run runx = new Run("Text to insert...");
spanx.Inlines.InsertBefore(spanx.Inlines.FirstInline, runx);

下面的示例删除 Span 中的最后一个 Inline 元素。

spanx.Inlines.Remove(spanx.Inlines.LastInline);

下面的示例从 Span 中清除所有内容(Inline 元素)。

spanx.Inlines.Clear();

TextElement 类,可以用来显示本概述中描述的内容。

BoldFigureFloaterHyperlinkInlineUIContainerItalicLineBreakListListItemParagraphRunSectionSpanTableUnderline.

请注意,此列表中仅包括与 Windows SDK 一起分发的非抽象类型。 可以使用继承自 TextElement 的其他类型。

WPF 内容模型

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,991
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,505
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,349
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,134
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,766
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,844