C# WPF将字符串打印为行

C# WPF将字符串打印为行,c#,wpf,printing,C#,Wpf,Printing,在我的应用程序中,我必须将一些数据打印到打印机上。这些数据存储在一个集合中,集合中的每个记录都有一个字符串字段,这就是要打印的内容。每个字符串字段都应该是一行。我想做点像这样的事 FlowDocument doc = new FlowDocument(); foreach (var x in myCollection) { Paragraph p = new Paragraph(new Run(x.PrintString)); doc.Blocks.Add(p); } doc.N

在我的应用程序中,我必须将一些数据打印到打印机上。这些数据存储在一个集合中,集合中的每个记录都有一个字符串字段,这就是要打印的内容。每个字符串字段都应该是一行。我想做点像这样的事

FlowDocument doc = new FlowDocument();
foreach (var x in myCollection)
{
    Paragraph p = new Paragraph(new Run(x.PrintString));
    doc.Blocks.Add(p);
}
doc.Name = "FlowDoc";
IDocumentPaginatorSource idpSource = doc;
printDlg.PrintDocument(idpSource.DocumentPaginator, "My Printing");
问题是,每一行后面都有一个空的空格,就像这样

Line 1

Line 2

Line 3
Line 1
Line 2
Line 3
当我需要它看起来像这样

Line 1

Line 2

Line 3
Line 1
Line 2
Line 3
谢谢

编辑:添加
doc
根据我的评论,我可以用它来处理以下问题

FlowDocument doc = new FlowDocument();
Paragraph p = new Paragraph();
foreach (var x in myCollection)
{
    p.Inlines.Add(x.PrintString + "\r\n");
    p.Margin = new Thickness(0);
}
doc.Blocks.Add(p);
doc.Name = "FlowDoc";
IDocumentPaginatorSource idpSource = doc;
printDlg.PrintDocument(idpSource.DocumentPaginator, "My Printing");

什么是
doc
?我还假设段落之间会出现一条空行。你能把所有的字符串都加到一个段落中吗?不确定从何处获取这些行,但请仔细检查它们的结尾没有附加
\r\n
。是否尝试将页边距和页边距设置为0?调整p.LineHeight如何?如果您解决了问题,您应该将解决方案作为答案发布,而不是问题的一部分。几天后你可以接受自己的答案。