var printDialog = new PrintDialog();
if(printDialog.ShowDialog() == true) {
var xpsDocumentWriter = PrintQueue.CreateXpsDocumentWriter(printDialog.PrintQueue);
foreach(var person in persons) {
var doc = Application.LoadComponent(new Uri("Template.xaml", UriKind.Relative)) as FlowDocument;
doc.DataContext = persons;
var paginator = ((IDocumentPaginatorSource)doc).DocumentPaginator;
xpsDocumentWriter.Write(paginator);
}
}