本文内容
Windows Presentation Foundation (WPF) 提供丰富的文档功能,可创建旨在比前几代 Windows 更易于访问和读取的高保真内容文档。 除增强功能和质量外,WPF 还对文档显示、打包和安全性能提供集成服务。 本主题介绍 WPF 文档类型和文档打包。
1、文档类型
WPF 基于文档用途将文档分成两大类别;这些文档类别分别称为“固定文档”和“流文档”。
固定文档适用于需要精确的“所见即所得”(WYSIWYG) 呈现的应用程序,这与所使用的显示器或打印机硬件无关。 固定文档的典型用途包括桌面发布、字处理和窗体布局,在这些情况下,遵循原始页面设计非常关键。 作为其布局的一部分,固定文档独立于所使用的显示或打印设备来对内容元素进行精确地定位安放。 例如,一个固定文档页面在 96 dpi 显示器上显示的效果与在 600 dpi 激光打印机或 4800 dpi 照相排字机上输出的效果是完全一样的。 虽然文档质量会根据每台设备的功能达到最优化,但是页面布局在所有情况下都保持不变。
比较而言,流文档旨在优化查看和可读性,因此,当易读性是文档的主要使用要求时,最适合使用流文档。 流文档根据运行时变量(例如,窗口大小、设备分辨率和可选的用户首选项)来动态调整和重新排列内容,而不是设置为一个预定义的布局。 网页就是流文档的一个简单示例,网页上的页面内容会动态调整格式以适应当前窗口。 流文档会基于运行时环境来优化用户的查看和阅读体验。 例如,在高分辨率的 19 英寸显示器上或小型 2×3 英寸 PDA 屏幕上,同一流文档会动态调整格式以实现最佳可读性。 此外,流文档还具有很多内置功能,包括搜索、能够优化可读性的查看模式以及更改字体大小和外观的功能。
2、文档控件和文本布局
.NET Framework 提供一组预生成的控件,可以简化应用程序内固定文档、流文档和常规文本的使用。 固定文档内容的显示是由 DocumentViewer 控件支持的。 流文档内容的显示是由以下三个不同的控件支持的:FlowDocumentReader、FlowDocumentPageViewer 和 FlowDocumentScrollViewer,它们分别映射到不同的用户方案(请参阅以下部分)。 其他 WPF 控件提供简化的布局以支持常规文本的使用(请参阅下面的用户界面中的文本)。
2.1 固定文档控件 – DocumentViewer
DocumentViewer 控件旨在显示 FixedDocument 内容。 DocumentViewer 控件提供直观的用户界面,为常见操作(包括打印输出、复制到剪贴板、缩放和文本搜索功能)提供内置支持。 此控件通过常见的滚动机制提供对页面内容的访问。 像所有 WPF 控件一样,DocumentViewer 支持完整或部分样式调整,这使得控件可以在视觉效果方面几乎与任何应用程序或环境相集成。