WPF 提供了三个专用控件用于查看 FlowDocument 内容,每个控件都针对不同的演示方案进行了优化。 通过这些控件,你可以在应用程序中显示丰富的可重排内容,同时为用户提供与该内容交互的不同方式。
三个 FlowDocument 控件包括:
- FlowDocumentScrollViewer:在连续滚动视图中显示内容,非常适合在没有分页的情况下阅读长文档。
- FlowDocumentPageViewer:按页面显示内容页面,类似于书籍或杂志布局。
- FlowDocumentReader:允许用户在不同的查看模式之间切换,包括滚动、逐页和双页分布视图,从而提供最大的灵活性。
这三个控件共享显示 FlowDocument 内容的常见用途,这些内容会自动调整以适应可用的查看区域。 选择最符合应用程序需求的控件:FlowDocumentScrollViewer 适用于简单滚动场景,FlowDocumentPageViewer 用于固定页面演示,或者使用 FlowDocumentReader 来让用户自主选择如何查看内容。
有关创建和使用流文档的详细信息,请参阅 流文档概述。
FlowDocumentScrollViewer
控件 FlowDocumentScrollViewer 在滚动容器中显示 FlowDocument 内容。 此控件非常适合连续阅读体验,你希望用户滚动浏览内容,而不是在页面之间导航。 与按每页查看内容的FlowDocumentPageViewer进行对比。
Content 属性
内容属性FlowDocumentScrollViewer是Document,它指定要显示的FlowDocument。
部件
下表列出了控件的 FlowDocumentScrollViewer 命名部件。
| 部件名称 | 部件类型 | Description |
|---|---|---|
| PART_ContentHost | ScrollViewer | 用于流文档内容的滚动主机。 |
| PART_FindToolBarHost | Decorator | 查找工具栏的宿主。 |
| PART_ToolBarHost | Decorator | 工具栏的主机。 |
视觉状态
下表列出了控件的 FlowDocumentScrollViewer 视觉状态。
| VisualState 名称 | VisualStateGroup 名称 | Description |
|---|---|---|
| 有效 | ValidationStates | 该控件有效且没有验证错误。 |
| 无效焦点 | ValidationStates | 控件存在验证错误,并且具有键盘焦点。 |
| 无效未聚焦 | ValidationStates | 控件存在验证错误,但没有键盘焦点。 |
FlowDocument页面查看器
控件 FlowDocumentPageViewer 按页面显示 FlowDocument 内容。 此控件通过页面导航控件提供类似书籍的阅读体验。 与在滚动查看器中呈现FlowDocumentScrollViewer内容的FlowDocument相对比。
Content 属性
该 Document 属性是控件的内容属性 FlowDocumentPageViewer ,包含查看器中显示的流文档。
部件
下表列出了控件的 FlowDocumentPageViewer 命名部件。
| 部件名称 | 部件类型 | Description |
|---|---|---|
| PART_FindToolBarHost | Decorator | 承载查找工具栏的修饰器。 |
视觉状态
下表列出了控件的 FlowDocumentPageViewer 视觉状态。
| 视觉状态 | 视觉状态集群 | Description |
|---|---|---|
| 有效 | ValidationStates | 该控件有效且没有验证错误。 |
| 无效焦点 | ValidationStates | 控件存在验证错误,并且具有键盘焦点。 |
| 无效未聚焦 | ValidationStates | 控件存在验证错误,但没有键盘焦点。 |
FlowDocumentReader
控件 FlowDocumentReader 显示 FlowDocument 内容并支持多种查看模式。 通过此控件,用户可以选择他们的首选阅读体验、在滚动、单页和双页分布视图之间进行切换,从而提供最大的灵活性。
Content 属性
该 Document 属性是内容属性,并定义 FlowDocument 读取器显示的内容。
部件
下表列出了控件的 FlowDocumentReader 命名部件。
| 部件名称 | 部件类型 | Description |
|---|---|---|
| PART_ContentHost | Decorator | 承载不同查看模式的内容查看器的修饰器。 |
| PART_FindToolBarHost | Decorator | 启用查找功能时承载查找工具栏的修饰器。 |
视觉状态
下表列出了控件的 FlowDocumentReader 视觉状态。
| 视觉状态名称 | 视觉状态组名称 | Description |
|---|---|---|
| 有效 | ValidationStates | 该控件有效且没有验证错误。 |
| 无效焦点 | ValidationStates | 控件存在验证错误,并且具有键盘焦点。 |
| 无效未聚焦 | ValidationStates | 控件存在验证错误,但没有键盘焦点。 |
样式和模板
可以修改这些控件的默认值 ControlTemplate ,使其具有唯一的外观。 有关详细信息,请参阅什么是样式和模板?以及如何为控件创建模板。