RichTextBox中新行后的空格

本文关键字:空格 新行 RichTextBox | 更新日期: 2023-09-27 18:29:15

当用户按下回车键或插入文本时,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);

但这仍然不起作用。有人给我什么建议吗?

RichTextBox中新行后的空格

我遇到了同样的问题,我通过修改RichTextBox:的Xaml来解决它

<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);