Silverlight 打印与动画技术解析
1. Silverlight 打印相关内容
1.1 打印逻辑复杂度
当需要打印混合内容(如图片和文本)或多行换行文本时,打印逻辑会变得更加复杂。若将 TextBlock.TextWrapping 属性设置为 Wrap 并给予足够大小以容纳多行文本, TextBlock 会自动换行打印文本。但要在多页上换行文本就不那么容易了,因为无法知道 TextBlock 在任何给定页面上何时用完空间,唯一的办法是逐字打印文档,不过这种技术既慢又繁琐,体现了 Silverlight 简化打印模型的局限性。
1.2 创建打印预览
虽然 Silverlight 没有内置的打印预览功能,但可以轻松自行构建。基本技术是将根元素写入 WriteableBitmap ,然后在屏幕上显示该 WriteableBitmap ,例如在弹出的 ChildWindow 内的 ScrollViewer 中显示。
1.2.1 重构打印代码
首先要重构打印代码,以便可以将其作为打印操作的一部分调用,或创建用于预览的视觉效果。例如,将生成视觉效果的代码分离到一个单独的方法中:
private bool GeneratePage(Canvas printSurface,
Thickness
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



