如何将内容移动到WPF中的下一页表格
我是WPF中的新手,如果出现错误请协作。在这里我需要来自专家的一些想法。如何将内容移动到WPF中的下一页表格
我在一个应用程序的工作中,我有填充字段出现在form.On相同的形式我也有一个打印选项后显示WPF窗体上的一些内容。
入住这image.This是我在这里的形式参与了红块在runtime.When生成我点击打印按钮只显示在纸张上的可见部分,并跳过剩余部分。
问题: 如何能打动我这下滚动到下一个页面时,我上打印单击窗体的剩余部分。
例如给定的图像中,我们可以看到只有2靶心完全和明年2 partially.How我可以将此剩余部分转移到下一个页面仅当我在打印点击。
答案很简单:不要依赖你的窗口做印刷的,而是建立可视那么你要打印。
例如,您必须有一个动态创建圆圈等功能,然后将它们添加到面板。你可能要做的是打印面板。
或者如果您愿意,您可以动态构建一个新窗口,您可以在其中放置想要打印的所有数据,然后打印该窗口。这种方法的优点是它对内容更灵活(如果你想要一个页眉/页脚),并且你可以很容易地观看内容进行调试。请注意,即使窗口内容是动态的,您也可以有一个打印基础窗口,避免您使用代码执行太多xaml(expl:您可能会将TextBox绑定到您在Print Window的构造函数中设置的PrintTitle属性...)。
请注意,未在屏幕上呈现的视觉效果将无法打印。可以肯定,以避免常见的问题,要看看这篇文章,从这个伟大的网站,打开代码,在这里:
http://www.switchonthecode.com/tutorials/printing-in-wpf
编辑(回复在评论的问题):)如果
1你有固定数量的公牛眼睛,只需为该数字制作一个窗口并打印它,这样就更容易了。
2)要将视觉效果放入页面而不是行中,必须依靠页面宽度/高度。重要的是你的控件的大小和页面的大小。在示例中,它们构建(在OnRender中)将LineHeight,LineWidth作为大小的控件。做同样的事情:尝试尽可能多的控制线,如 (控制高度+边距)* NumberOfControlPerPage <页面高度。
然后,您必须更改OnRender才能渲染控件,而不是使用矩形+文本制作的行。在Horizontal StackPanels中将你的控件两两包装,然后将这些StackPanel打包到一个垂直的StackPanel中,然后渲染。您必须跟踪最后呈现控件的每个页面,然后在以下控件中继续呈现。
感谢文森特这个link.I正在寻找在HTTP之后得到了基本的: //www.switchonthecode.com/tutorials/wpf-printing-part-2-pagination。 你能告诉我如何添加usercontrol而不是行吗? – Sunny 2012-08-09 06:23:02
回复ihn编辑。 – GameAlchemist 2012-08-09 11:10:58
感谢@Vincent的帮助。最后我得到了答案。再次感谢 – Sunny 2012-08-09 11:52:20