许多 PDC 文档中列出的 Silverlight 4 功能之一是打印预览。
我已经搜索了有关如何使用它的示例,但到目前为止一无所获。有没有人有这个工作呢?你能给我一些关于如何实现一个带有打印预览的简单网络应用程序的指导吗?
许多 PDC 文档中列出的 Silverlight 4 功能之一是打印预览。
我已经搜索了有关如何使用它的示例,但到目前为止一无所获。有没有人有这个工作呢?你能给我一些关于如何实现一个带有打印预览的简单网络应用程序的指导吗?
我没有将打印预览视为其中任何一个,而是实际的打印支持,您可以在其中控制打印哪些控件以及基于打印过程的事件。
在寻找了一段时间后,我找到了一种方法,通过结合我在其他项目中找到的一些功能来做到这一点,但他们将其用于图像处理。我尝试了打印,它似乎工作正常。
它是如何工作的:使用 WriteableBitmap 获取将打印内容转换为位图的基本容器,这里我将使用 Canvas:
WriteableBitmap wb = new WriteableBitmap(this.canvas1, null);
将此位图用作 Image 控件的源(可以在 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;
}
我认为,由于缺乏回应,而且正如 Hurricanepkt 在他的回复中指出的那样,Tim Heuer 和其他人谈到了虚拟打印,如果在屏幕上显示相同的内容,可以很容易地将其构建到您自己定制的打印预览功能中某些列表中列出的打印预览实际上是人们误解了虚拟打印文档的实际含义。