Как изменить интервал абзаца RichTextBox? - PullRequest
53 голосов
/ 28 ноября 2008

Я использую RichTextBox в WPF и пытаюсь установить по умолчанию интервал между абзацами 0 (чтобы не было интервалов между абзацами). Хотя я мог бы сделать это в XAML, я хотел бы достичь этого программно, если это возможно. Есть идеи?

Ответы [ 7 ]

183 голосов
/ 15 января 2009

Я сделал это со стилем (каламбур с отступом)

<RichTextBox  Margin="0,51,0,0" Name="mainTextBox" >
        <RichTextBox.Resources>
            <Style TargetType="{x:Type Paragraph}">
                <Setter Property="Margin" Value="0"/>
            </Style>
        </RichTextBox.Resources>
    </RichTextBox>
24 голосов
/ 28 ноября 2008

Использование высоты строки

RichTextBox rtb = new RichTextBox();    
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;    
p.LineHeight = 10;
17 голосов
/ 28 ноября 2008

Закрыть, чтобы вы получили очки. На самом деле оказалось, что устанавливается поле,

p.Margin = new Thickness(0);
5 голосов
/ 27 ноября 2017

У меня на VS2017 в WPF работает это:

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

Ключ Block.LineHeight = "2"

Вы также можете найти это в окне свойств, но оттуда вы не можете изменить ниже 6px.

2 голосов
/ 29 ноября 2016
RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);
1 голос
/ 28 октября 2010

В C # 2008 WAP

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

или

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

может использоваться для межстрочного интервала.

Это единственный способ получить интервал между строками.

0 голосов
/ 06 мая 2010
<RichTextBox  Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
    <Paragraph>
        XYZ
        <LineBreak />
    </Paragraph>
</RichTextBox>
...