我在 WPF 中使用 RichTextBox,并尝试将默认段落间距设置为 0(这样就没有段落间距)。虽然我可以在 XAML 中做到这一点,但如果可能的话,我想以编程方式实现它。有任何想法吗?
Darren Oster
问问题
72889 次
8 回答
214
我用风格做到了(双关语缩进)
<RichTextBox Margin="0,51,0,0" Name="mainTextBox" >
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
于 2009-01-15T07:06:48.227 回答
27
使用行高
RichTextBox rtb = new RichTextBox();
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;
p.LineHeight = 10;
于 2008-11-28T05:07:16.780 回答
17
关闭,所以你得到了积分。原来是设置边距,
p.Margin = new Thickness(0);
于 2008-11-28T05:31:08.713 回答
14
对我来说,WPF 中的 VS2017 可以这样工作:
<RichTextBox HorizontalAlignment="Left" Height="126" Margin="10,280,0,0" VerticalAlignment="Top" Width="343" FontSize="14" Block.LineHeight="2"/>
关键是Block.LineHeight="2"
您也可以在“属性”视图中找到它,但不能从那里更改低于 6 像素。
于 2017-11-27T14:24:58.863 回答
4
RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);
于 2016-11-28T23:31:02.640 回答
1
<RichTextBox Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
<Paragraph>
XYZ
<LineBreak />
</Paragraph>
</RichTextBox>
于 2010-05-06T13:25:22.227 回答
1
在 C# 2008 中
richtextbox1.SelectionCharOffset =
-1 * ( Convert.ToInt32(R223.Txt_Space_Before.Text) * 100);
或者
richtextbox1.SelectionCharOffset =
Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;
可用于行间距。
这是获得行高间距的唯一方法。
于 2010-10-28T11:02:11.997 回答
0
我知道这个问题是在我开始编码之前发布的,但我发现只需设置ShowSelectedMargin
就可以true
了
于 2020-07-28T16:17:47.120 回答