如何使用Silverlight 4 Beta打印预览?

时间:2009-12-24 10:58:22

标签: silverlight-4.0 print-preview

很多PDC文档中列出的Silverlight 4功能之一是打印预览。

我已经搜索了如何使用它的示例,到目前为止一无所获。有人有这个工作吗?你能否给我一些关于如何在。中实现打印预览的简单Web应用程序的指示。

3 个答案:

答案 0 :(得分:1)

我没有看到任何打印预览,只有实际的打印支持,您可以根据打印过程控制打印哪些控件和事件。

答案 1 :(得分:1)

经过一段时间的寻找,我找到了一种方法,通过结合我在其他项目中找到的一些功能,但他们用它来进行图像处理。我尝试了打印,似乎工作正常。

这是如何运作的: 通过使用WriteableBitmap获取转换为位图的打印内容的基本容器,这里我将使用Canvas:

WriteableBitmap wb = new WriteableBitmap(this.canvas1, null);

使用此位图作为图像控件的源(可以在ScrollViewer中,甚至更好)。

this.imagePreview.Height = wb.PixelHeight;
this.imagePreview.Width = wb.PixelWidth;
this.imagePreview.Source = wb;

设置缩放基本单位(在这种情况下使用1%):

Point scale = new Point();      

scale.X = imagePreview.Width/100d;
scale.Y = imagePreview.Height/100d;

然后使用滑块(可选)

调整缩放比例
private void vSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {

                imagePreview.Height = scale.Y * vSlider.Value;
                imagePreview.Width = scale.X * vSlider.Value;           
        }

答案 2 :(得分:0)

我认为,由于缺乏回应以及Hurricanepkt在回复中指出的事实,Tim Heuer和其他人谈论虚拟印刷品,如果在屏幕上显示相同的内容,可以很容易地构建到您自己的定制打印预览中某些列表中列出的打印预览功能实际上是人们误解了虚拟打印文档的实际内容。