Пробел после новых строк в RichTextBox - PullRequest
7 голосов
/ 28 марта 2012

RichTextBox помещает дополнительный пробел между строками, когда пользователь нажимает ввод или вставку текста, и это то, от чего я пытаюсь уйти.Я искал вокруг, и единственное достойное решение, которое я нашел, это:

Setter SetParagraphMargin = new Setter();
SetParagraphMargin.Property = Paragraph.MarginProperty;
SetParagraphMargin.Value = new Thickness(0);

Style style = new Style();
style.TargetType = typeof(Paragraph);
style.Setters.Add(SetParagraphMargin);

rtb.Resources.Add("Style", style);

Но это все еще не работает.У кого-нибудь есть советы для меня?

Ответы [ 2 ]

15 голосов
/ 28 марта 2012

У меня была такая же проблема, и я решил ее, изменив Xaml RichTextBox:

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

Не знаю, чем это отличается от настройки стиля вручную, как вы сделали, но для меня этосработало.

Обновление : чтобы изменить его в коде, вам нужно использовать целевой тип в качестве ключа:

Style noSpaceStyle = new Style(typeof(Paragraph));
noSpaceStyle.Setters.Add(new Setter(Paragraph.MarginProperty, new Thickness(0)));
rtb.Resources.Add(typeof(Paragraph), noSpaceStyle);
0 голосов
/ 24 августа 2014

Я сделал это с толщиной свойства

 my_paragraph.Margin = new System.Windows.Thickness(0);
...