リッチテキストボックスの選択範囲に段落書式を適用する必要があります。私のRTBは、StackOverflowのリッチテキストボックスと同じように動作します。ユーザーはRTBにテキストを入力できますが、コードブロックを入力することもできます。RTBは、コードブロックに非常に単純なフォーマットを適用します。以下のコードブロックに表示されているように、フォントを変更し、ブロック全体に背景色を適用します。
フォントの変更は非常に簡単です。
var textRange = new TextRange(rtb.Selection.Start, rtb.Selection.End);
textRange.ApplyPropertyValue(TextElement.FontFamilyProperty, "Consolas");
textRange.ApplyPropertyValue(TextElement.FontSizeProperty, 10D );
次に、段落レベルの書式を適用する必要があります。段落の余白を0に設定する必要があるため、コード行の間に空白行が表示されず、段落の背景色を設定する必要があります。これが私の問題です。選択範囲から段落要素を取得する方法がわからないため、書式設定を適用できます。
助言がありますか?MarginプロパティとBackgroundプロパティを適用する方法の例は、非常に役立ちます。ありがとう!