2010-06-20 21 views
7

Quiero añadir un poco de texto en un WPF RichTextBox en tiempo de ejecución en una nueva línea. puedo hacer esto usando:Adición de texto en una nueva línea en WPF RichTextBox en tiempo de ejecución

FlowDocument mcFlowDoc = new FlowDocument(); 
mcFlowDoc = richTextBox.Document; 
Paragraph pr = new Paragraph(); 
pr.Inlines.Add(status); 
mcFlowDoc.Blocks.Add(pr); 
StatusText.Document = mcFlowDoc; 

Pero no es demasiado de un hueco entre dos líneas. ¿Cómo puedo arreglar esto?

+0

Por cierto, no hay punto de crear una nueva 'FlowDocument' (' mcFlowDoc = new FlowDocument(); ') cuando se está cambiando su referencia la siguiente línea' mcFlowDoc = richTextBox.Document; ' –

Respuesta

3

De acuerdo con la documentación, el espaciado entre párrafos está definido por los márgenes, que no se acumulan (no se doblan), por lo que la respuesta de Julien Lebosquain es correcta.

MSDN on FlowDocument Paragraph Spacing

6

Trate pr.Margin = new Thickness(0.0) para eliminar las brechas entre párrafos.

8

Para evitar tener que configurar manualmente el margen de cada párrafo, se puede añadir esto a XAML del RichTextBox:

<RichTextBox> 
    <RichTextBox.Resources> 
    <Style TargetType="{x:Type Paragraph}"> 
     <Setter Property="Margin" Value="0"/> 
    </Style> 
    </RichTextBox.Resources> 
</RichTextBox> 
+0

¿puede dar un ejemplo de cómo se xaml configuración de un bloque de la caja de texto enriquecido o documento? (Estoy empezando con la programación de Rich Text Box desde C#) –

Cuestiones relacionadas