Silverlight打印解决方案2.0之如何自定义表体

通常我们的表体都是二维表格形式的,正如 Silverlight打印解决方案2.0 Demo 中演示的那样绑定就好了。那如果我要自定义表体怎么办呢?

大体代码是这样的:

1、Xaml:

 

  < local:Report  x:Name ="Report3"  Title ="自定义表体" >
                     < local:Report.PageHeaderTemplate >
                         < DataTemplate >
                             < TextBlock  Text =" {Binding Title} "  FontSize ="16"  FontWeight ="Bold"  HorizontalAlignment ="Center" />
                         </ DataTemplate >
                     </ local:Report.PageHeaderTemplate >

                     < local:Report.ItemTemplate >
                         < DataTemplate >
                             < Grid  Height ="120"  Margin ="10" >
                                 < Rectangle  Stroke ="Gray"  StrokeThickness ="1" />
                                 < StackPanel >
                                     < TextBlock  Text =" {Binding Customer.Name} "  Margin ="4" />
                                     < TextBlock  Text =" {Binding Product.Name} "  Margin ="4" />
                                 </ StackPanel >
                             </ Grid >
                         </ DataTemplate >
                     </ local:Report.ItemTemplate >

                     < local:Report.PageFooterTemplate >
                         < DataTemplate >
                             < Grid >

                                 < StackPanel  Orientation ="Horizontal"
                                    HorizontalAlignment
="Right"
                                    VerticalAlignment
="Center"
                                    Margin
="5" >
                                     < TextBlock  Text =" {Binding CurrentPageNumber} "   />
                                     < TextBlock  Text =" {Binding TotalPageCount, StringFormat='/{0}'} "   />

                                 </ StackPanel >
                             </ Grid >
                         </ DataTemplate >
                     </ local:Report.PageFooterTemplate >
                 </ local:Report >

 

2、cs: 

 

private  void Button4_Click( object sender, RoutedEventArgs e)
        {
             var tag =  new TagData();
            tag.Total = data.Sum(r => r.Sum);
            tag.Count = data.Count;

            Report3.DefaultPageSize = PageSizes.B5;
            Report3.ItemsSource = data;
            Report3.TagData = tag;
            Report3.Preview();
        }

生成的报表是这个样子:

Silverlight打印解决方案2.0之如何自定义表体_第1张图片

你可能感兴趣的:(silverlight)