WPF文本显示:
WPF面向的是UI展现,而文本显示无疑是UI层中的重要功能之中的一个。WPF提供了XPS (XML 文件规范) 和Flow Document (流文档) 来在不同的场景下展现或者操作文档的显示。XPS(XML 文件规范)针对打印和面向页面的内容,而”流文档”则针对屏幕显示以及提供更动态和能够论证的更复杂模型。“流文档”差点儿适用于与文本内容相关的全部方面。从产品说明到整本书籍。
Flow Document是WPF3.0中提供的一个用于显示的新功能,它给了开发者还有一种选择去显示内容。
Flow Document通过类似 HTML 文档的格式定义文本流,但其功能更强大,并可提供明显更先进的布局选项。它内置了非常多的元素。比如。Figure, Paragraph, Section, Floater, Table, InlineUIContainer等能够通过不同的布局和元素控制其显示方式。而且。它支持对图像的支持,使其能够像在HTML中一样任意控制。
再加上其默认支持的导航,显示模式。搜索,让其内容展现方式有了进一步的提高。
Flow Document (流文本):
Flow Document定义了这个流文档的顶级显示模式。在其内部能够包括诸如Section, Paragraph等标签用来控制其层级显示模式。这就类似于HTML中的DIV,TABLE等区域控制标签一样用来组成文档的显示结构。定义一个流文档非常easy,你能够通过声明一个Flow Document和其内部的显示结构就可以。比例如以下面代码通过显示了怎样来创建了简单的显示功能。
显示模式 :
Flow Document默认支持三种展现方式,这也相应了上图中右下方的三个button。默认的Flow Document会以FlowDocumentReader来生成。对于不同的展现方式,其包括的导航。搜索等都有所不同,甚至缺少某些功能。
· FlowDocumentPageViewer :以单独的页面显示流文档。此选项以单独的页面显示流文档,让页面翻转而非滚动。
这与 Word中的“阅读版式”类似。以 下XAML片段声明了文章以FlowDocumentPageViewer的方式显示。FlowDocumentPageViewer将提供以翻页的方式来导航内 容页。通过你调整窗体的大小。流文档会依据内容的位置、尺寸来调整流的布局(这就是你为什么会在变化窗体大小的 时候看到多列的原因,流的布局变化)。
· FlowDocumentScrollViewer:以连续的流显示文档,通过滚动栏导航。使用一个滚动栏以连续的流显示文档。类似网页或 Microsoft Word 中的”Web 版 式”。ScrollViewer模式不过以连续的方式显示流文档的内容,所以其不具备PageViewer的能够自己主动变化流布局的高级功 能。
在调整窗体大小时,流文档无法以多页或多列的方式显示。
· FlowDocumentReader : 组合了滚动查看器和页面查看器,让用户能够在两种方法之间切换。这是用于流文档的默认选项。
此控件组合了滚动查看 器和页面查看器,让用户能够在两种方法之间切换。
这是用于流文档的默认控件,并且对于以显示复杂文本为特色的应用 程序一般是一个不错的选择。除了将标记用FlowDocumentReader替换前边的两个标记中不论什么一个。便能够轻松使用这样的 高级的展现。