【发布时间】:2016-02-26 05:00:23
【问题描述】:
我在 WPF C# 上构建了一个包含发票的应用程序,并且我创建了一个分配给滚动视图的用户控件。 一切都很完美,直到我注意到这个非常烦人的打印错误。
所以用户控件是 A4 大小的。如果滚动视图在打印时滚动到顶部:
**PrintDialog pd = new PrintDialog();
pd.PrintVisual(scrollView, "print this off");**
没有问题发生。但是,如果滚动视图位于中间或底部,它会打印偏移量。 我试图通过在打印之前将滚动视图移动到顶部来解决它,但打印出来的结果是错误的......
**scrollView.ScrollToHome();
PrintDialog pd = new PrintDialog();
pd.PrintVisual(scrollView, "print this off");**
但如果我再次点击打印按钮,它将正确打印。我不知道为什么它会在将它移到顶部之前打印,因为这是我对它的唯一解释......
请帮忙
【问题讨论】:
-
尝试将控件实例传递给
PrintVisual方法,而不是包含它的scrollView。 -
试过还是一样的结果,尝试传递 usercontrol 一个新的用户控件实例一个新的滚动视图实例一切都出来了 saem :(
-
好的。奇怪的是,从头开始创建的控件的新实例,填充了数据并且从未分配给可滚动容器,在打印时会假定任何 y 偏移量。您确定尝试使用不继承/分配任何容器的新控件实例吗?
-
它将具有相同的用户控件,也许我误解了你这是我的第一个 WPF 项目,所以在控件方面我有点菜鸟:)