FlowDocument.LineHeight Property

Gets or sets the height of each line of content.

Namespace:  System.Windows.Documents
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

[TypeConverterAttribute(typeof(LengthConverter))]
public double LineHeight { get; set; }
<object LineHeight="double"/>
- or -
<object LineHeight="qualifiedDouble"/>
- or -
<object LineHeight="Auto"/>

XAML Values

double

Double

String representation of a Double value equal to or greater than 0.0034 and equal to or less then 160000. An unqualified value is measured in device independent pixels. Strings need not explicitly include decimal points.

qualifiedDouble

A double value as described above, (excepting Auto) followed by one of the following unit specifiers: px, in, cm, pt.

px (default) is device-independent units (1/96th inch per unit)

in is inches; 1in==96px

cm is centimeters; 1cm==(96/2.54) px

pt is points; 1pt==(96/72) px

Auto

Causes the line height to be determined automatically from the current font characteristics. Equivalent to a property value of Double.NaN.

Property Value

Type: System.Double
The height of each line, in device independent pixels, in the range 0.0034 to 160000. A value of Double.NaN (equivalent to an attribute value of "Auto") causes the line height to be determined automatically from the current font characteristics. The default is Double.NaN.

ExceptionCondition
ArgumentException

LineHeight is set to a non-positive value.

Changing this value does not change the height of the associated text; rather, it changes the height of the line that contains the text. To change the size of the text, use the FontSize property.

In addition to this property, the layout of lines in a FlowDocument is affected by its LineStackingStrategy property.

The following example shows how to set the LineHeight attribute of a FlowDocument element.

<FlowDocumentReader>
  <FlowDocument
    FontSize="24"
    LineHeight="48"
  >
    <Paragraph TextAlignment="Left" Background="AliceBlue">
      One<LineBreak/>
      two two<LineBreak/>
      Three Three Three<LineBreak/>
      four four four four<LineBreak/>
      Five Five Five Five Five
    </Paragraph>
  </FlowDocument>
</FlowDocumentReader>

The following figure shows how the preceding FlowDocument renders.

Screenshot: FlowDocument LineHeight

The following figure shows how the same FlowDocument renders with the default setting of LineHeight=Double.NaN.

Screenshot: FlowDocument LineHeight default

The following example shows how to set the LineHeight property programmatically.

FlowDocument flowDoc = new FlowDocument(new Paragraph(new Run("A bit of text content...")));
// Set the content flow direction to left-to-right.
flowDoc.LineHeight = 48;

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft