2

特定の段落間の改行を避ける方法があるかどうか疑問に思っています。例えば:

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

PjourneyTitle と Pjourney の間に改行がありますがこれは避けたいと思います。

今日は一日中グーグルで検索しましたが、役に立ちませんでした。

どんな助けでも大歓迎です。前もって感謝します!

編集:皆さんから提案されたコードを使用した後:これは私にはうまくいかないようです...理由が何であれ。KeepWithNext は ParagraphFormat のオプションのようですが、true に設定しても何も起こりません。上記のように、MigraDoc コードで使用するスタイル (Heading2) を設定しています。

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;
4

2 に答える 2

2

KeepWithNext は、最初の段落の最後の行と 2 番目の段落の最初の行が同じページにあることを保証します。したがって、これら 2 つの段落の間の改ページは防止されますが、段落内の改ページは防止されません。

KeepTogether は、段落内の改ページを防ぎます。

両方の段落を壊れないブロックとして扱いたい場合は、両方の段落で KeepTogether を使用し、最初の段落で KeepWithNext を使用するとうまくいくはずです。

各段落が新しい行で始まるのは設計によるものです。段落間の改行を防ぐ方法はありません (申し訳ありませんが、その質問をもっと注意深く読むべきでした)。

AddFormattedText を使用して、段落内で異なる形式 (太字と標準など) を混在させることができます。

2 つの異なる列を作成するために、表 (境界線が非表示になっている可能性があります) を使用できます。

そのため、必要に応じて、AddFormattedText またはテーブルが最適なオプションになる場合があります。

于 2013-03-18T14:24:38.670 に答える
2

keepWithNext プロパティを探していると思います。それをtrueに設定します。

http://msdn.microsoft.com/en-us/library/system.windows.documents.paragraph.keepwithnext.aspx

于 2013-03-15T19:10:45.137 に答える