Пробел после новых строк в RichTextBox
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 ответа
Решение
У меня была та же проблема, и я решил ее, изменив 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);
Я сделал это с толщиной свойства
my_paragraph.Margin = new System.Windows.Thickness(0);