我在WPF中使用RichTextBox,并且我尝试将默认段落间距设置为0(这样就没有段落间距)。虽然我可以在XAML中执行此操作,但我希望尽可能以编程方式实现它。有什么想法吗?
答案 0 :(得分:182)
我做了风格(双关语)
<RichTextBox Margin="0,51,0,0" Name="mainTextBox" >
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
答案 1 :(得分:24)
使用线高
RichTextBox rtb = new RichTextBox();
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;
p.LineHeight = 10;
答案 2 :(得分:17)
关闭,所以你得到了积分。实际上结果是设定了保证金,
p.Margin = new Thickness(0);
答案 3 :(得分:2)
RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);
答案 4 :(得分:1)
在C#2008 WAP
richtextbox1.SelectionCharOffset =
-1 * ( Convert.ToInt32(R223.Txt_Space_Before.Text) * 100);
或
richtextbox1.SelectionCharOffset =
Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;
可用于行间距。
这是行距高度的唯一方法。
答案 5 :(得分:0)
<RichTextBox Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
<Paragraph>
XYZ
<LineBreak />
</Paragraph>
</RichTextBox>
答案 6 :(得分:0)
我知道甚至在开始编码之前就已经发布了这个问题,但是我发现只需将ShowSelectedMargin
设置为true
即可达到目的