2011-01-30 119 views
2

我已經創建了我自己的用戶控件,它使用ListView來顯示項目的套件列表。在我的項目中的每個頁面上,ListView的列在XAML中,然後綁定到我的對象。WPF - 打印ListView的內容?

現在我想要做的是在我的控件中編寫一個Print方法,它將打印出ListView的全部內容。

我讀了一個類似的問題,其答案是我應該將我的ItemsSource轉換爲表格。如果這的確是完成這項任務的方法,那麼是否有人能夠如此善良地引導我完成這個任意對象的過程?

感謝,
桑尼

回答

0

嗯...我終於(在某種程度上)解決問題。

我已經迭代了我的ListView中的GridViewColumns,對於每一列,我還遍歷ListView的ItemSource並使用Reflection獲取DisplayMemberBinding.Path.Path,然後可以使用它獲取屬性的值。

DisplayMemberBinding也包含我所有轉換器的信息,所以我很好。

這很慢(在ListView中400行約10秒),但它工作。

1

由於ListViewVisual派生,也許你可以使用PrintVisual()方法打印列表視圖本身:

new PrintDialog().PrintVisual(yourListView, "Print Job Description"); 
+0

這是我的第一本能。不幸的是,對於包含大量項目的一些ListView,它想顯示滾動條而不是所有項目。你知道一個解決辦法嗎? – 2011-01-30 20:21:17