WPF - 打印ListView的内容?

时间:2011-01-30 20:00:56

标签: c# wpf listview printing

我创建了自己的usercontrol,它使用ListView来显示项目的仲裁列表。在我的项目中的每个页面上,ListView在XAML中的列然后绑定到我的对象。

现在我要做的就是在我的控件中编写一个Print方法,打印出ListView的全部内容。

我读了一个类似的问题,答案是说我应该将我的ItemsSource转换成表格。事实上,如果这是完成这项任务的方法,那么有人可以如此善良地指导我完成任意对象的过程吗?

谢谢,
桑尼

2 个答案:

答案 0 :(得分:1)

由于ListView派生自Visual,您可以使用PrintVisual()方法打印列表视图本身:

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

答案 1 :(得分:0)

嗯......我终于(有点)解决了这个问题。

我已遍历ListView中的GridViewColumns,对于每一列,我还遍历ListView的ItemSource,并使用Reflection获取DisplayMemberBinding.Path.Path,然后我可以使用它来获取属性的值。

DisplayMemberBinding还有我所有转换器的信息,所以我很高兴。

它很慢(ListView中400行约10秒),但它可以工作。