RichTextBoxの段落間隔を変更するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/325075

  •  11-07-2019
  •  | 
  •  

質問

WPFでRichTextBoxを使用していますが、デフォルトの段落間隔を0に設定しようとしています(段落間隔がないように)。 XAMLでこれを行うことはできますが、可能であればプログラムで実現したいと思います。アイデアはありますか?

役に立ちましたか?

解決

スタイルを使用して(くぼんだ字下げ)

<RichTextBox  Margin="0,51,0,0" Name="mainTextBox" >
        <RichTextBox.Resources>
            <Style TargetType="{x:Type Paragraph}">
                <Setter Property="Margin" Value="0"/>
            </Style>
        </RichTextBox.Resources>
    </RichTextBox>

他のヒント

行の高さの使用

RichTextBox rtb = new RichTextBox();    
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;    
p.LineHeight = 10;

閉じて、ポイントを獲得しました。実際には、マージンを設定していることが判明しました。

p.Margin = new Thickness(0);

VSPFでWPFを使用している場合、これは次のように動作します。

 <RichTextBox HorizontalAlignment="Left" Height="126" Margin="10,280,0,0" VerticalAlignment="Top" Width="343" FontSize="14" Block.LineHeight="2"/>

キーは Block.LineHeight =&quot; 2&quot;です

これはプロパティビューでも見つけることができますが、そこから6px以下に変更することはできません。

RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);

C#2008 WAPで

richtextbox1.SelectionCharOffset =
    -1 * ( Convert.ToInt32(R223.Txt_Space_Before.Text) * 100);

または

richtextbox1.SelectionCharOffset =
    Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;

行間隔に使用できます。

これは、行の高さの間隔を設定できる唯一の方法です。

<RichTextBox  Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
    <Paragraph>
        XYZ
        <LineBreak />
    </Paragraph>
</RichTextBox>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top