您的位置:首页 > 编程语言 > ASP

Silverlight 4 中的打印功能

2010-03-31 17:56 543 查看
过去的Silverlight 1,2,3,经历了22个月,改版速度快的让人咤舌了,但是我相信没有比PDC的时候SL4 beta突然推出更让人讶异的事情了,真的,我们不是前阵子才在SL3 Launch吗? SL4 beta已经出了? 真是验证了我以前乌鸦嘴讲的揣测,看来Silverlight的改版硬是要直接追上.NET Framework的进度,一起迈向 4.0。

 

不过我们更关心的,是SL4增加了哪些功能? 第一个想跟你分享的,是Silverlight的打印机制,SL4提供了一个简单到不行的概念,但其实还真的蛮实用的东西。

 

请参考底下这个测试:[列印功能測試]页面

但请注意,测试前需先安装SL4 Developer runtimes: Windows 然后才能执行

你会发现这个小程序很轻易的SL把画面打印出来了,这个功能怎么完成?

看看程序代码,简单到不行:

Imports System.Windows.Printing

Partial Public Class MainPage
Inherits UserControl

Public Sub New()
InitializeComponent()
End Sub

'列印物件
Private WithEvents pd As PrintDocument

'PrintDocument的PrintPage事件負責處理要列印的東西
Private Sub pd_PrintPage(ByVal sender As Object, _
ByVal e As PrintPageEventArgs) Handles pd.PrintPage
e.PageVisual = Me '將表單本身(me)列印出
e.HasMorePages = False '後續沒有其他頁面要列印
End Sub

'Button1被按下
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
pd = New PrintDocument()
pd.DocumentName = "文件名稱" '顯示文件名稱
'列印
pd.Print()
End Sub
End Class


这个打印程序的概念几乎和WinForm差不多,只是当然相较之下也阳春一些,但是对大多数Web应用程序来说已经够用了,甚至很多原本ASP.NET没法做到的打印控制,我们现在开始可以用SL建立解决方案,如果我真的要做出一些比较优质的打印效果,需要做的也只不过是利用SL在场景上绘制张图,然后丢给PageVisual,你会发现PageVisual可以接受任何UIelement对象(包含Image),然后就那么自然的印出来了,简单到不行。但却方便好用...

 

看来不多久就会出现SL的报表或打印解决方案软件包了。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息