WPF 流文档
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和其内部的显示结构就可以。比例如以下面代码通过显示了怎样来创建了简单的显示功能。http://www.360doc.com/content/08/0730/16/51673_1489442.shtml
显示模式 :
Flow Document默认支持三种展现方式,这也相应了上图中右下方的三个button。默认的Flow Document会以FlowDocumentReader来生成。对于不同的展现方式,其包括的导航。搜索等都有所不同,甚至缺少某些功能。
·
FlowDocumentPageViewer
:以单独的页面显示流文档。此选项以单独的页面显示流文档,让页面翻转而非滚动。
这与 Word
中的“阅读版式”类似。以 下XAML片段声明了文章以FlowDocumentPageViewer的方式显示。FlowDocumentPageViewer将提供以翻页的方式来导航内
容页。通过你调整窗体的大小。流文档会依据内容的位置、尺寸来调整流的布局(这就是你为什么会在变化窗体大小的 时候看到多列的原因,流的布局变化)。
·
FlowDocumentScrollViewer:以连续的流显示文档,通过滚动栏导航。使用一个滚动栏以连续的流显示文档。类似网页或 Microsoft Word
中的”Web
版 式”。ScrollViewer模式不过以连续的方式显示流文档的内容,所以其不具备PageViewer的能够自己主动变化流布局的高级功
能。
在调整窗体大小时,流文档无法以多页或多列的方式显示。
·
FlowDocumentReader
: 组合了滚动查看器和页面查看器,让用户能够在两种方法之间切换。这是用于流文档的默认选项。
此控件组合了滚动查看 器和页面查看器,让用户能够在两种方法之间切换。
这是用于流文档的默认控件,并且对于以显示复杂文本为特色的应用 程序一般是一个不错的选择。除了将标记用FlowDocumentReader替换前边的两个标记中不论什么一个。便能够轻松使用这样的
高级的展现。
WPF 流文档的更多相关文章
- WPF界面设计技巧(11)-认知流文档 & 小议WPF的野心
原文:WPF界面设计技巧(11)-认知流文档 & 小议WPF的野心 流文档是WPF中的一种独特的文档承载格式,它的书写和呈现方式都很像HTML,它也几乎具备了HTML的绝大多数优势,并提供了更 ...
- WPF中使用流文档
转载自:http://www.cnblogs.com/zlgcool/archive/2008/11/17/1335456.html WPF面向的是UI展现,而文本显示无疑是UI层中的重要功能之一.W ...
- WPF,Silverlight与XAML读书笔记第四十三 - 多媒体支持之文本与文档
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. Glyphs对象(WPF,Silverlig ...
- 一天搞定CSS: 浮动(float)及文档流--10
浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器). ...
- 前端学习 -- Css -- 文档流
文档流 文档流处在网页的最底层,它表示的是一个页面中的位置, 我们所创建的元素默认都处在文档流中 元素在文档流中的特点 块元素 块元素在文档流中会独占一行,块元素会自上向下排列. 块元素在文档流中默认 ...
- 内联元素的盒子模型与文档流定位padding属性
内联元素的盒子模型 1.内联元素不能设置width宽度和高度height span{width:200px ; height:200px} 与 span{width:100 ...
- 文档流&文字&CSS常用命令
文档流 文档流就是文档内元素流动方向 流动方向 内联元素从左往右流,宽度不够,之字形,且元素会被截断 块元素从上往下流动,一排一排 注意事项 内联元素中有英文单词,流动时宽度不够,英文单词会整体迁移, ...
- Oracle 远程访问配置 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标 C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素” C#[Win32&WinCE&WM]应用程序只能运行一个实例:MutexHelper Decimal类型截取保留N位小数向上取, Decimal类型截取保留N位小数并且不进行四舍五入操作
Oracle 远程访问配置 服务端配置 如果不想自己写,可以通过 Net Manager 来配置. 以下配置文件中的 localhost 改为 ip 地址,否则,远程不能访问. 1.网络监听配置 ...
- 【H5疑难杂症】脱离文档流时的渲染BUG
BUG重现 最近机票团队在一个页面布局复杂的地方发现一个BUG,非常奇怪并且不好定位,这类问题一般最后都会到我这里,这个问题是,改变dom结构,页面却不渲染!!! 如图所示,我动态的改变了dom结构, ...
随机推荐
- System.Threading.Tasks.Task 任务引起的IIS应用程序池崩溃
转载:http://www.cnblogs.com/aaa6818162/p/4421305.html 问题现象 IIS应用程序池崩溃(Crash)的特征如下: 1. 从客户端看,浏览器一直处于连接状 ...
- .Net4.0并行库介绍——Task
Task和ThreadPool的功能类似,可以用来创建一些轻量级的并行任务.对于将一个任务放进线程池 ThreadPool.QueueUserWorkItem(A); 这段代码用Task来实现 ...
- B+树索引
结构上 B树中关键字集合分布在整棵树中,叶节点中不包含任何关键字信息,而B+树关键字集合分布在叶子结点中,非叶节点只是叶子结点中关键字的索引: B树中任何一个关键字只出现在一个结点中,而B+树中的关键 ...
- Apache下error.log文件太大的处理
偶尔发现Apache下的错误日志非常的大,有4G多,先停止Apache服务的所有进程,最简单就是输命令:net stop apache2.2,然后删除 Apache2/logs/目录下的 error. ...
- [Linux] ubuntu下查看CHM的软件
本文旨在介绍linux下的常见chm阅读软件及其安装,并针对一些问题给出解决方法. 一.CHMSEE 这个比较常见了,呵呵. 安装: sudo apt-get install chmsee 之后在应用 ...
- ORDER BY,GROUP BY 和DI STI NCT 优化
读<MySQL性能调优与架构设计>笔记之ORDER BY,GROUP BY 和DI STI NCT 优化 2015年01月18日 18:51:31 lihuayong 阅读数:2593 标 ...
- 如何利用Flink实现超大规模用户行为分析
如何利用Flink实现超大规模用户行为分析 各位晚上好,首先感谢大家参与我的这次主题分享,同时也感谢 InfoQ AI 前线组织这次瀚思科技主题月! 瀚思科技成立于 2014 年,按行业划分我们是 ...
- Linux进程间通信—管道
Linux下的进程通信手段基本上是从UNIX平台上的进程通信手段继承而来的.而对UNIX发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间 ...
- 2016 Top 10 Android Library
过去的 2016 年,开源社区异常活跃,很多个人与公司争相开源自己的项目,让人眼花缭乱,然而有些项目只是昙花一现,有些项目却持久创造价值,为开发者提供了极大的便利,这些终究由时间来判断.今天,我就来整 ...
- GPGPU OpenCL使用结构体数据
OpenCL编程中可以使用结构体,只需要在核函数kernel中提供同样的结构体申明就可以啦. 如果在主函数中定义了结构体: typedef struct studentNode{ int age; f ...