2010-12-23 8 views
2

ListBox 값을 인쇄하는 가장 쉬운 방법은 무엇입니까? FlowDocumentReader를 사용하려고했지만 성공하지 못했습니다. 당신이 시각적 요소를 인쇄 할 경우Wpf 인쇄 방법 ListBox

답변

4

, 당신은 당신이 경우 시각적 개체 (모든 컨트롤, 컨테이너, 창 또는 사용자 컨트롤)

을 인쇄 할 수 있습니다

   PrintDialog printDlg = new PrintDialog(); 
      printDlg.PrintVisual(ListBox1, "Listbox Printing."); 

사용할 수 있습니다 당신이 FlowDocument를 사용할 수있는 경우에만 다음 항목을 인쇄 할 찾고

   FlowDocument fd = new FlowDocument(); 
      foreach (object item in items) 
      { 
       fd.Blocks.Add(new Paragraph(new Run(item.ToString()))); 
      } 
      fd.Print(); 

또는

   PrintDialog pd = new PrintDialog(); 
      pd.PrintDocument(fd); 
+0

답변 biju을 주셔서 감사합니다. 정말 유익했고 두 번째 대안은 제가 찾고있는 것입니다. 그러나 이제는 모든 항목에서 "System.Xml.XmlElement"를 얻습니다. ToString() 메서드를 호출하기 때문에 발생한다고 생각합니다. 그러나이를 극복하는 방법은 무엇입니까? StackPanel 안에 XmlDataProvider 및 ListBox가 있습니다. ListBox의 ItemsSource는 XmlDataProvider에서 가져옵니다. – GC87

+0

시도하십시오 fd.Blocks.Add (새 단락 (새 실행 (XmlElement.InnerText.ToString()))); – biju

+0

그건 완벽 했어! 매우 큰 답변을 주셔서 감사합니다. – GC87