【发布时间】:2013-08-22 20:12:21
【问题描述】:
我有一个正在尝试打印的自定义控件。我尝试将窗口上的边距更改为“缩进”我的控件,但它仍然切断了左侧和顶部。我还在打印方法中尝试了以下方法:
private void bttnPrint_Click(object sender, RoutedEventArgs e)
{
UserControl hddc = HDDC;
var printDlg = new PrintDialog
{PrintTicket = {PageOrientation = PageOrientation.Landscape, PageBorderless = PageBorderless.Unknown}};
//printDlg.PrintTicket.PageMediaSize.PageMediaSizeName = PageMediaSizeName.NorthAmerica11x17;
if (printDlg.ShowDialog() == true)
{
printDlg.PrintVisual(hddc, "HDDC Report");
}
else
{
MessageBox.Show("Print Canceled");
}
}
仍然没有快乐。我有一种感觉,我错过了一个愚蠢的设置,但我似乎无法找到它。为什么我的打印在顶部和左侧被切断了?
【问题讨论】:
-
如果您更改 PageScalingFactor? 会发生什么不是答案,但可能是测试的解决方法。
-
你的 XAML 是什么?
HDDC是否像<local:UserControl1 Name="HDDC" />一样在那里定义? -
@blins:其实是
<UserControls:HddcReport x:Name="HDDC" />。 -
我无法重现确切的问题。我正在打印到 PDF 并以这种方式检查结果。我确实看到如果我简单地将控件拖动到足够大以至于它的物理尺寸大于纸张尺寸,我可以让它在右侧截断,但这并不完全符合您的描述,因为它仍然与左上角对齐好的。
-
@Blins:如果我对 PDF 执行此操作,它也可以正常工作。但是当我打印到打印机时,就会发生截断。