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替换前边的两个标记中不论什么一个。便能够轻松使用这样的
                  高级的展现。

转自:http://www.cnblogs.com/tianguook/p/4165476.html

WPF 流文档的更多相关文章

  1. WPF界面设计技巧(11)-认知流文档 & 小议WPF的野心

    原文:WPF界面设计技巧(11)-认知流文档 & 小议WPF的野心 流文档是WPF中的一种独特的文档承载格式,它的书写和呈现方式都很像HTML,它也几乎具备了HTML的绝大多数优势,并提供了更 ...

  2. WPF中使用流文档

    转载自:http://www.cnblogs.com/zlgcool/archive/2008/11/17/1335456.html WPF面向的是UI展现,而文本显示无疑是UI层中的重要功能之一.W ...

  3. WPF,Silverlight与XAML读书笔记第四十三 - 多媒体支持之文本与文档

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. Glyphs对象(WPF,Silverlig ...

  4. 一天搞定CSS: 浮动(float)及文档流--10

    浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器). ...

  5. 前端学习 -- Css -- 文档流

    文档流 文档流处在网页的最底层,它表示的是一个页面中的位置, 我们所创建的元素默认都处在文档流中 元素在文档流中的特点 块元素 块元素在文档流中会独占一行,块元素会自上向下排列. 块元素在文档流中默认 ...

  6. 内联元素的盒子模型与文档流定位padding属性

            内联元素的盒子模型 1.内联元素不能设置width宽度和高度height span{width:200px ; height:200px}   与     span{width:100 ...

  7. 文档流&文字&CSS常用命令

    文档流 文档流就是文档内元素流动方向 流动方向 内联元素从左往右流,宽度不够,之字形,且元素会被截断 块元素从上往下流动,一排一排 注意事项 内联元素中有英文单词,流动时宽度不够,英文单词会整体迁移, ...

  8. 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.网络监听配置 ...

  9. 【H5疑难杂症】脱离文档流时的渲染BUG

    BUG重现 最近机票团队在一个页面布局复杂的地方发现一个BUG,非常奇怪并且不好定位,这类问题一般最后都会到我这里,这个问题是,改变dom结构,页面却不渲染!!! 如图所示,我动态的改变了dom结构, ...

随机推荐

  1. 模板方法在Spring事务中的应用

    事务对于我们来讲不并陌生,也是在实际应用中一直都在使用.在JDBC中,事务大致的使用结构如下: 开启事务 业务逻辑处理 提交事务 Spring只是对事务进行了扩展和封装使用,现在看看在内部它是如何工作 ...

  2. apt-get和apt-cache命令实例展示

    示例:1 列出所有可用包 linux@localhost:~$ apt-cache pkgnamesaccount-plugin-yahoojpceph-fusedvd+rw-toolse3gnome ...

  3. document.readyState等属性,判断页面是否加载完

    如何在页面加载完成后再去做某事?什么方法可以判断当前页面加载已完成?document.readyState 判断页面是否加载完成?javascript提供了document.readyState==& ...

  4. Eclipse 中导入jar包

    导入到工程即可使用了1. 在程序目录下,创建一个文件夹,如 lib. 2. 将第三方jar包复制到该目录下3.右键工程,选择Build path4.java build path,选择 librari ...

  5. log4net配置详细说明

    1.web网站中创建log4net.config <?xml version="1.0" encoding="utf-8"?><configu ...

  6. 谈谈Copy-on-Write容器

    1.简介 Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容 ...

  7. #include &lt;NOIP2009 Junior&gt; 细胞分裂 ——using namespace wxl;

    题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家.现在,他正在为一个细胞实 验做准备工作:培养细胞样本. Hanks 博士手里现在有 N 种细胞,编号从 1~N,一个 ...

  8. Python 字符串前面加'r'

    在Python的string前面加上‘r’, 是为了告诉编译器这个string是个raw string,不要转意backslash '\' . 例如,\n 在raw string中,是两个字符,\和n ...

  9. c语言打印uint64, int64

    http://stackoverflow.com/questions/9225567/how-to-print-a-int64-t-type-in-c

  10. C# 网络斗地主源码开源

    C# 网络斗地主源码开源多线程 讨论交流及  下载地址 可以发送聊天消息