-
Rich Text控件:

WPF Rich Text控件简介

在其他一些UI框架中,比如WinForms,想要显示长篇的富文本是非常困难的。一般的解决办法是通过在RichTextBox中加载文件或者创建一个WebBrowser组件来加载本地或者远程网页,但是,如果想随心所欲的编辑这些加载的富文本,基本是不可能的。而微软想在WPF中解决这个问题,让这些富文本的编辑也变得和显示一样简单。

FlowDocument负责渲染富文本,这包括图片、列表、表格,以及其他可以浮动、调整等的元素。使用FlowDocument,你可以在设计时像HTML一样指定富文本内容(多亏了XAML)并让它直接在你的WPF应用中渲染。

FlowDocument并不是单独的组件。相反,它使用诸多内置封装中的一个来控制FlowDocument该如何布局以及内容是否能被用户编辑。WPF包括了三个控件用于渲染一个只读模式的FlowDocument,它们都提供了缩放、打印的简单支持:

FlowDocumentScrollViewer - 围绕着FlowDocument的最简单的包装,它简单地把文档显示成一份长文本文档,并允许你滚动浏览它。

FlowDocumentPageViewer - 这个封装会自动把你的文档分割成页,以便用户在页之间浏览。

FlowDocumentReader - 这是 FlowDocumentScrollViewerFlowDocumentPageViewer的结合体,允许用户在两种渲染模式中选择。它也提供了在文档中进行搜索的能力与接口。

FlowDocument通常是只读的,但将其放入一个RichTextBox控件后(后续教程会讲到),你就可以像在Word那样的文档编辑器上一样编辑这些文本。

在接下来的几个章节,我们会讨论包括只读与可读写在内的所有FlowDocument的包装。在这之后,我们会探讨你在使用FlowDocument创建富文本文档时遇到的所有的情况,包括表格、列表、图片等。