使用WinRT打印文档:
1)如果有更多数据或要在格式化页面中打印的文本数据,请继续跟踪。
这可以使用RichTextBlock和RichTextBlockOverflow完成,如下所示:
<RichTextBlock Foreground="Black" x:Name="textContent" FontSize="18" Grid.Row="1" Grid.ColumnSpan="2" OverflowContentTarget="{Binding ElementName=firstLinkedContainer}" IsTextSelectionEnabled="True" TextAlignment="Left" FontFamily="Segoe UI" VerticalAlignment="Top" HorizontalAlignment="Left"> </RichTextBlok> <RichTextBlockOverflow x:Name="firstLinkedContainer" OverflowContentTarget="{Binding ElementName=continuationPageLinkedContainer}" Grid.Row="2" Grid.Column="0"/>
但是如何跟踪ListBox它可能包含几页数据以便在格式化页面中打印?
假设这个格式化的XAML页面包含Grid.Row =“0”和Grid.row =“1”:
1)Grid.Row =“0”:客户信息的标题
2)Grid.Row =“1”:订单交易的正文
ListBox将被添加到Canvas对象中,Opacity =“0”
ListBox将填充本地数据库中的数据。
问题:
如果ListBox有更多数据要打印,需要什么控制才能跟踪?
<StackPanel x:Name="header" Grid.Row="0" Grid.ColumnSpan="2" Height="60" Visibility="Collapsed"> <StackPanel Orientation="Horizontal" > <RichTextBlock Foreground="Black" FontSize="20" TextAlignment="Left" FontFamily="Segoe UI"> <Paragraph>Order- Printing test </RichTextBlock> </StackPanel> </StackPanel> <StackPanel x:Name="Body" Grid.Row="1" Margin="100,30,106,148"> <ListBox Height="500" x:Name="Lbx1" Margin="30,3,84,0"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel Orientation="Horizontal"> <TextBlock FontSize="20" Margin="10,10,30,10"> <Run Text="name : "/><Run Text="{Binding ItemName}" /> </TextBlock> <TextBlock FontSize="20" Margin="30,10,10,10"> <Run Text="code : "/> <Run Text="{Binding ItemCode}" /> </TextBlock> <TextBlock FontSize="20" Margin="10"> <Run Text="Price : "/> <Run Text="{Binding Price}" /> </TextBlock> <TextBlock FontSize="20" Margin="10"> <Run Text="Quantity : "/> <Run Text="{Binding Quantity}" /> </TextBlock> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </StackPanel>