我想知道是否有一种方法可以避免某些段落之间的换行。
例如:

Paragraph PjourneyTitle = sec.AddParagraph(journeyTitle, "Heading2");
Paragraph Pjourney = sec.AddParagraph();
Pjourney.Format.Font.Bold = true;
Pjourney.AddText(offer.Destination);


在PjourneyTitle和Pjourney之间,发生换行符,我想避免。

我今天整天都在搜寻Google,但无济于事。

任何帮助是极大的赞赏。提前致谢!

编辑:
使用了你们建议的代码后:
不管是什么原因,这似乎都不适合我。尽管KeepWithNext似乎是ParagraphFormat中的一个选项,但将其设置为true对我没有任何作用。我正在设置一个样式(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;

最佳答案

KeepWithNext将确保第一段的最后一行和第二段的第一行将在同一页上。因此,它可以防止这两个段落之间的分页符,但不能防止该段落内部的分页符。

KeepTogether可以防止段落内的分页符。

如果要将两个段落都视为牢不可破的块,则在两个段落上都使用KeepTogether并在第一个段落上使用KeepWithNext应该可以解决问题。

根据设计,每个段落都以新行开头。无法防止段落之间的换行(对不起,我应该更仔细地阅读该问题)。

您可以使用AddFormattedText在段落中混合使用不同的格式(例如,粗体和普通)。

您可以使用一个表(可能带有隐藏的边框)来具有两个不同的列。

因此,根据您的需要,AddFormattedText或表可能是最佳选择。

关于c# - MigraDoc-如何避免段落之间的换行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15438970/

10-17 00:07