private void btnPrint_Click(object sender, RoutedEventArgs e)
{
PrintDialog dialog = new PrintDialog();
if (dialog.ShowDialog() == true)
{
StackPanel stpanel;
stpanel = PrintStakPanel;
stpanel.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));
Size grdSize = stpanel.DesiredSize;
Point grdPoint = new Point((dialog.PrintableAreaWidth - grdSize.Width) / 2, (dialog.PrintableAreaHeight - grdSize.Height) / 2);
stpanel.Arrange(new Rect(grdPoint, grdSize));
Grid.SetRow(stpanel, 0);
dialog.PrintVisual(stpanel, "Cinema Ticket");
}
}
答案 0 :(得分:1)
您可以在不PrintDialog
电话的情况下使用ShowDialog()
....当您拨打PrintVisual
时,只会使用当前设置的打印机设置。
要执行更复杂的操作,您可以使用PrintTicket
以编程方式定义打印机设置。
请点击此处了解更多详情:
答案 1 :(得分:1)
不要在代码中调用dialog.ShowDialog()。