How to print each object in a collection in a separate page in Silverlight
- by Ash
I would like to know if its possible to print each object in a collection in separate pages using Silverlight printing API. 
Suppose I have a class Label
public class Label
{
    public string Address { get; set; }    
    public string Country { get; set; }    
    public string Name { get; set; }    
    public string Town { get; set; }
}
I can use print API and print like this. 
private PrintDocument pd;
private void PrintButton_Click(object sender, RoutedEventArgs e)
{
   pd.Print("Test Print");
}
private void pd_PrintPage(object sender, PrintPageEventArgs e)
{
    Label labelToPrint = new Label() 
    { 
        Name = "Fake Name", Address = "Fake Address",
        Country = "Fake Country", Town = "Town"
    };
    var printpage = new LabelPrint();
    printpage.DataContext = new LabelPrintViewModel(labelToPrint);
    e.PageVisual = printpage;
}
LabelPrint Xaml
<StackPanel x:Name="LayoutRoot" VerticalAlignment="Center"
            HorizontalAlignment="Center">
    <TextBlock Text="{Binding Name}" />
    <TextBlock Text="{Binding Address}" />
    <TextBlock Text="{Binding Town}" />
    <TextBlock Text="{Binding Country}" />
</StackPanel>
Now, say I've a collection of Label objects,
List<Label> labels = new List<Label>() 
{
    labelToPrint, labelToPrint, labelToPrint, labelToPrint
};
How can I print each object in the list in separate pages ? 
Thanks for any suggestions ..