我想知道是否有办法避免某些段落之间的换行。 例如:
Paragraph PjourneyTitle = sec.AddParagraph(journeyTitle, "Heading2");
Paragraph Pjourney = sec.AddParagraph();
Pjourney.Format.Font.Bold = true;
Pjourney.AddText(offer.Destination);
在PjourneyTitle和Pjourney之间有一个换行,我想避免。
我今天一整天都在谷歌上搜索无济于事。
非常感谢任何帮助。提前谢谢!
编辑: 使用你们建议的代码后: 这对我来说似乎不起作用......不管是什么原因。虽然KeepWithNext似乎是ParagraphFormat中的一个选项,但将其设置为true对我没有任何帮助。我正在设置一个Style(Heading2),我在我的MigraDoc代码中使用它,如上面发布的那样。
这是Heading2的样式代码:
style = document.Styles["Heading2"];
style.ParagraphFormat.LeftIndent = "0cm";
style.ParagraphFormat.KeepWithNext = true;
//style.ParagraphFormat.KeepTogether = true;
style.Font.Size = 10;
style.Font.Bold = true;
style.ParagraphFormat.PageBreakBefore = false;
style.ParagraphFormat.SpaceBefore = 6;
style.ParagraphFormat.SpaceAfter = 6;
答案 0 :(得分:2)
我认为你正在寻找keepWithNext属性。将其设置为true。
http://msdn.microsoft.com/en-us/library/system.windows.documents.paragraph.keepwithnext.aspx
答案 1 :(得分:2)
KeepWithNext将确保第一段的最后一行和第二段的第一行将在同一页面上。因此,它可以防止这两段之间的分页,但不会阻止段落内的分页。
KeepTogether将阻止段落内的分页。
如果你想将两个段落都视为一个牢不可破的块,那么在Paragraphs和第一段的KeepWithNext上使用KeepTogether就可以了。
按照设计,每个段落都以新的一行开头。没有办法阻止段落之间的换行(对不起,我应该更仔细地阅读这个问题)。
您可以使用AddFormattedText在段落中混合使用不同的格式(例如粗体和普通格式)。
您可以使用表格(可能带有隐藏边框)来拥有两个不同的列。
因此,根据您的需要,AddFormattedText或表格可能是最佳选择。