在Header中显示属性并使用David Poll的CollectionPrinter绑定到嵌套集合

时间:2011-03-17 16:50:39

标签: silverlight silverlight-4.0 printing

我需要在Silverlight 4中打印一个对象。该类的(简化)版本是这样的:

public class Order
{
    public string CompanyName {get;set;}
    public string OrderReference {get;set;}
    public List<string> Items {get;set;}

}

我正在尝试使用David Poll's CollectionPrinter来实现这一点,因为它处理围绕Silverlight打印的许多疯狂特性,这似乎是一条明智的路线。

但是,作为CollectionPrinter,ItemsSource需要是一个集合,所以我只能从正文中的类打印Items,而不是CompanyName或标题中的OrderReference

我所追求的布局是:

  

Page 1
  标题,包含   CompanyName和OrderReference
  项目开始列表

     

第2页(及后续页面......)
  其余项目列表

我想我可以将CollectionPrinter的ItemsSource绑定到包含我的一个订单的List<Order>,然后实现绑定到ListBox的{​​{1}} Items,但这不能分页(大概是因为它需要多个项目来计算分页)。

有没有人对如何使用CollectionPrinter处理这种情况有任何建议?

1 个答案:

答案 0 :(得分:0)

我最终彻底改变了它的工作方式并实现了HTML / JavaScript解决方案,将对象作为JSON传递并编写自定义JSON解析器以填充HTML模板,其风格类似于any of the other templating solutions available

除了比Silverlight打印更简单的实现之外,由于打印文件只有几千字节而不是几兆字节,所以它的执行速度也要快得多。

滚动Silverlight 5 and its Postscript Vector Printing API ...