Silverlight 4 的打印支持
工作原理
Silverlight 4 打印支持允许您指定要打印的 XAML 。整体漂亮,简单。这一切都是使用 PrintDocument 类。此类提供了用于回调来询问你如何打印单个页的多个事件。首先我们来看看简单的 PrintDocument :
PrintDocument doc = new PrintDocument();
doc.DocumentName = "Sample Print";
doc.StartPrint += new EventHandler<StartPrintEventArgs>(doc_StartPrint);
doc.PrintPage += new EventHandler<PrintPageEventArgs>(doc_PrintPage);
doc.Print();
在创建一个新的 PrintDocument 时有一个简单的模式: 设置文档名称、 处理事件和开始打印过程。文档名称是在后台打印程序中显示的名称 (至少在 Windows 中,不能测试它在 Mac 上)。StartPrint / EndPrint 事件称为之前和之后,主要用于安装/拆卸的打印元素。 在打印 方法开始打印过程,并要求用户指定打印机。打印机选择后,打印系统调用的打印机规格从打印机本身确定发送 PrintPage 事件:
void doc_PrintPage(object sender, PrintPageEventArgs e)
{
// 延伸到打印页的大小
printSurface.Width = e.PrintableArea.Width;
printSurface.Height = e.PrintableArea.Height;
// 指定要打印的 XAML 元素
e.PageVisual = printSurface;
// 指定是否再次调用另一个页
e.HasMorePages = false;
}
PrintPage 事件传递一个 PrintPageEventArgs 对象,其中包含两个部分信息。最重要的是,宽度 和 高度,可以用来帮助在打印之前的XAML大小。 它还允许您指定了 PageVisual,这是要打印的任何 UIElement 派生的元素。 通常,这是其中一个控件 (例如 DataGrid) 或其他元素的容器。如果你只在做页面打印,您还可以指定整个页面。 最后,您必须指定是否有更多页打印的HasMorePages 属性。 当HasMorePages 设置为 true,页面在打印和打印第二页再次调用在 PrintPage。
转载于:https://www.cnblogs.com/jacle169/archive/2012/12/09/2810038.html
Silverlight 4 的打印支持相关推荐
- 设备管理器中的usb打印支持有个叹号是什么意思,如何解决?
如果出现下面图片这个现象,就是USB打印支持前面,有个黄色的感叹号. 是什么意思呢? 该怎么样解决呢? 首选,先分析原因,再说解决办法? 导致这个问题,有四个方面的原因 第一,电脑系统出现了问题 第二 ...
- silverlight控件打印预览
silverlight的打印预览,一般是给要预览的控件照一张快照,这是通过WriteableBitmap类给控件生成位图实现的. 但是WriteableBitmap类生成位图,必须要控件先经过渲染,要 ...
- 打印机怎么选择双面打印,支持双面打印资料的平台
使用打印机怎么选择双面打印?双面打印在我们日常打印时都是比较常用的,选择双面打印可以节省打印的费用,提高打印纸张的利用率,但是并不是每一个打印店都支持为大家双面打印资料,有些打印平台是不支持双面打印的 ...
- 哪种手机便签软件可以打印,支持打印的手机便签软件
手机便签几乎是人人都会用到的便签工具,如果我们想记录一些重要信息,或者想积累一些知识碎片,都会保存在手机便签上.日久天长,手机便签上内容就会很多.如果想把手机便签上的内容打印出来,该怎么操作呢? 打印 ...
- 打印系列一:(套打解决方案(支持B/S和C/S))
很久没有写文章了也很少有时间,IT的朋友都很忙:既然来了肯定不是空手来啊:废话就不多讲了 打印想必大家都遇到过这样的问题,不想用那些太过强大的打印控件,在我开发的过程中也遇到了这样的情况我想要实现基本 ...
- Silverlight 打印
摘自:http://www.cnblogs.com/jiajiayuan/archive/2012/04/13/2444246.html Silverlight中的打印只有一个类,那就是PrintDo ...
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)
在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇到了怎么打印的问题. 一种办法是用标签设计软件做好模板,在标签设计软件中打印,这种办法不用写代码,但对我来说觉得不 ...
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)...
在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇到了怎么打印的问题. 一种办法是用标签设计软件做好模板,在标签设计软件中打印,这种办法不用写代码,但对我来说觉得不 ...
- C#调用斑马打印机打印条码标签(支持COM、LPT、USB、TCP连接方式和ZPL、EPL、CPCL指令)【转】...
原文地址:http://blog.csdn.net/ldljlq/article/details/7338772 在批量打印商品标签时一般都要加上条码或图片,而这类应用大多是使用斑马打印机,所以我也遇 ...
最新文章
- linux循环处理多行,Linux高级文本处理之gawk分支和循环(四)
- python timestamp和datetime之间的转换_python – 在datetime,Timestamp和datetime64之间转换
- 【oracle】查看数据库最近执行了哪些sql语句
- [3.30校内训练赛]
- [Python]网络爬虫(十):一个爬虫的诞生全过程(以山东大学绩点运算为例)
- QNAP 修复 NAS 备份应用中的严重漏洞
- mysql 中 where条件的OR 和 and 加括号的说法
- mysql主从配置修改重启无效
- NOJ [1184] Elaine's Queue
- Pseudo-terminal will not be allocated because stdin is not a terminal
- Linux学习笔记——~/.bash_profile文件
- multisim收敛助手有啥用_Multisim 收敛助手报告
- iis php 500 内部服务器错误,服务器_iis的http 500内部服务器错误的解决,iis的http 500内部服务器错误是 - phpStudy...
- Mysql 获取成绩排序后的名次
- HttpClient4.5.6设置代理以及代理验证(用户名和密码)
- Beam Search(集束搜索)算法
- web設計常用代碼收集
- POJ2386-Lake Counting
- 计算机打开页面恢复默认大小,win10怎样恢复Windows窗口默认的大小?
- 利用ffmpeg把一帧原始视频数据转换成jpg格式的图片
热门文章
- JBOSS 5.0.0GA的集群搭建
- Mysql创建用户和给用户授权
- 蓝桥杯 AGLO-152 算法训练 8-2求完数
- 蓝桥杯 ADV-210 算法提高 2-1屏幕打印
- laravel leftjoin 右侧取最新一条_高铁规划:湖南至广西将增添一条高铁,填补中西部地区铁路网空白...
- jdbc executebatch 非事务_jdbc技术
- 【学习笔记】圆方树(CF487E Tourists)
- MYSQL存储过程中事务和DECLARE EXIT/CONTINUE HANDLER的使用
- Java 8 中的 java.util.Optional
- 部分高级正则特性 使用