我想知道是否有办法避免某些段落之间换行。 例如:
Paragraph PjourneyTitle = sec.AddParagraph(journeyTitle, "Heading2");
Paragraph Pjourney = sec.AddParagraph();
Pjourney.Format.Font.Bold = true;
Pjourney.AddText(offer.Destination);
PjourneyTitle 和 Pjourney 之间发生换行,我想避免这种情况。
我今天一整天都在谷歌上搜索,但没有结果。
非常感谢任何帮助。提前致谢!
编辑: 使用你们建议的代码后: 这似乎对我不起作用......无论什么原因。虽然 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 将防止段落内分页。
如果您想将两个段落视为牢不可破的 block ,则在两个段落上使用 KeepTogether 并在第一段上使用 KeepWithNext 应该可以解决问题。
按照设计,每个段落都以新行开始。无法防止段落之间换行(抱歉,我应该更仔细地阅读该问题)。
您可以使用 AddFormattedText 在段落中混合不同的格式(例如粗体和普通)。
您可以使用表格(可能带有隐藏边框)来拥有两个不同的列。
因此,根据您的需求,AddFormattedText 或表格可能是最佳选择。
关于c# - MigraDoc - 如何避免段落之间换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15438970/