¿Cómo cambio el espacio entre párrafos RichTextBox?
-
11-07-2019 - |
Pregunta
Estoy usando un RichTextBox en WPF, y estoy tratando de establecer el espaciado de párrafo predeterminado en 0 (para que no haya espaciado de párrafo). Si bien podría hacer esto en XAML, me gustaría lograrlo mediante programación si es posible. ¿Alguna idea?
Solución
Lo hice con estilo (juego de palabras con sangría)
<RichTextBox Margin="0,51,0,0" Name="mainTextBox" >
<RichTextBox.Resources>
<Style TargetType="{x:Type Paragraph}">
<Setter Property="Margin" Value="0"/>
</Style>
</RichTextBox.Resources>
</RichTextBox>
Otros consejos
Uso de altura de línea
RichTextBox rtb = new RichTextBox();
Paragraph p = rtb.Document.Blocks.FirstBlock as Paragraph;
p.LineHeight = 10;
Cierra, así que tienes los puntos. En realidad resultó establecer el margen,
p.Margin = new Thickness(0);
Para mí en VS2017 en WPF funciona esto:
<RichTextBox HorizontalAlignment="Left" Height="126" Margin="10,280,0,0" VerticalAlignment="Top" Width="343" FontSize="14" Block.LineHeight="2"/>
La clave es Block.LineHeight="2"
También puede encontrar esto en la vista Propiedades pero no puede cambiar por debajo de 6px desde allí.
RichTextBox rtb = new RichTextBox();
rtb.SetValue(Paragraph.LineHeightProperty, 1.0);
En C # 2008 WAP
richtextbox1.SelectionCharOffset =
-1 * ( Convert.ToInt32(R223.Txt_Space_Before.Text) * 100);
o
richtextbox1.SelectionCharOffset =
Convert.ToInt32(R223.Txt_Space_Before.Text) * 100;
se puede usar para Espaciado de línea.
Esta es la única forma en que puede tener un espaciado de altura de línea.
<RichTextBox Height="250" Width="500" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" IsReadOnly="True" >
<Paragraph>
XYZ
<LineBreak />
</Paragraph>
</RichTextBox>