2012-10-31 66 views
1
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

以正確的方式格式化您的代碼。如果你這樣發佈,沒有人會提供幫助。 –

+0

好的,先生,我是StackOverFlow的新手。 –

+0

請添加您需要幫助的其他詳細信息,而不是在標題 –

回答

1

顯示打印彈出您可以使用PrintDialog沒有做一個ShowDialog()通話....當前設置的打印機設置將只被用來當你調用PrintVisual打印。

要做更復雜的事情,您可以使用PrintTicket以編程方式定義打印機設置。

在這裏看到更多的細節:

+0

我可以得到關於PrintTicket類的一些知識。 我沒有得到MSDN給出的任何東西。 請告訴我們關於PrintTicket的實現。 –

1

不要在你的代碼中調用dialog.ShowDialog()。