Block.LineHeight Property

 

Gets or sets the height of each line of content.

Namespace:   System.Windows.Documents
Assembly:  PresentationFramework (in PresentationFramework.dll)

[TypeConverterAttribute(typeof(LengthConverter))]
public double LineHeight { get; set; }

Property Value

Type: System.Double

The height of each line in device independent pixels, in the range of 0.0034 to 160000, or Double.NaN to determine the height automatically. The default is Double.NaN.

Exception Condition
ArgumentException

LineHeight is set to a non-positive value.

A value of Double.NaN (equivalent to an attribute value of Auto) indicates that the line height is determined automatically from the current font characteristics.

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 Block is affected by its LineStackingStrategy property.

<object LineHeight="double"/>
- or -
<object LineHeight="qualifiedDouble"/>
- or -
<object LineHeight="Auto"/>

double

Double

String representation of a Double value equal to or greater than 0.0034 but equal to or less than 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 is determined automatically from the current font characteristics. Equivalent to a property value of Double.NaN.

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

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

The following figure shows how the preceding example 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.

Paragraph par = new Paragraph();
par.LineHeight = 48;

.NET Framework
Available since 3.0
Silverlight
Available since 5.0
Windows Phone Silverlight
Available since 8.0
Return to top
Show: