TextBlock.LineHeight Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the height of each line of content.
public:
property double LineHeight { double get(); void set(double value); };
[System.ComponentModel.TypeConverter(typeof(System.Windows.LengthConverter))]
public double LineHeight { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Windows.LengthConverter))>]
member this.LineHeight : double with get, set
Public Property LineHeight As Double
Property Value
The height of line, in device independent pixels, in the range of 0.0034 to 160000. A value of NaN (equivalent to an attribute value of "Auto
") indicates that the line height is determined automatically from the current font characteristics. The default is NaN.
- Attributes
Exceptions
LineHeight is set to a non-positive value.
Examples
The following example shows how to set the LineHeight attribute of a TextBlock element.
<TextBlock
Name="textBlock"
Background="AntiqueWhite"
Foreground="Navy"
FontFamily="Century Gothic"
FontSize="12"
FontStretch="UltraExpanded"
FontStyle="Italic"
FontWeight="UltraBold"
LineHeight="Auto"
Padding="5,10,5,10"
TextAlignment="Center"
TextWrapping="Wrap"
Typography.NumeralStyle="OldStyle"
Typography.SlashedZero="True"
>
<Run Background="LightGreen">Text run 1.</Run>
<LineBreak/><Run Background="LightBlue">Text run 2.</Run>
<LineBreak/><Run Background="LightYellow">Text run 3.</Run>
</TextBlock>
The following example shows how to set the LineHeight property programmatically.
TextBlock textBlock = new TextBlock(new Run("A bit of text content..."));
textBlock.Background = Brushes.AntiqueWhite;
textBlock.Foreground = Brushes.Navy;
textBlock.FontFamily = new FontFamily("Century Gothic");
textBlock.FontSize = 12;
textBlock.FontStretch = FontStretches.UltraExpanded;
textBlock.FontStyle = FontStyles.Italic;
textBlock.FontWeight = FontWeights.UltraBold;
textBlock.LineHeight = Double.NaN;
textBlock.Padding = new Thickness(5, 10, 5, 10);
textBlock.TextAlignment = TextAlignment.Center;
textBlock.TextWrapping = TextWrapping.Wrap;
textBlock.Typography.NumeralStyle = FontNumeralStyle.OldStyle;
textBlock.Typography.SlashedZero = true;
Dim textBlock As New TextBlock(New Run("A bit of text content..."))
textBlock.Background = Brushes.AntiqueWhite
textBlock.Foreground = Brushes.Navy
textBlock.FontFamily = New FontFamily("Century Gothic")
textBlock.FontSize = 12
textBlock.FontStretch = FontStretches.UltraExpanded
textBlock.FontStyle = FontStyles.Italic
textBlock.FontWeight = FontWeights.UltraBold
textBlock.LineHeight = Double.NaN
textBlock.Padding = New Thickness(5, 10, 5, 10)
textBlock.TextAlignment = TextAlignment.Center
textBlock.TextWrapping = TextWrapping.Wrap
textBlock.Typography.NumeralStyle = FontNumeralStyle.OldStyle
textBlock.Typography.SlashedZero = True
Remarks
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 TextBlock is affected by its LineStackingStrategy property.
This dependency property also has an attached property usage. In XAML, the usage is <object TextBlock.LineHeight="value".../>
, where object is an object element (typically a flow element) contained within a TextBlock, and value is a string as explained in XAML Values. In code, the attached property usage is supported by GetLineHeight and SetLineHeight. The attached property usage is not common.
XAML Attribute Usage
<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.
Dependency Property Information
Item | Value |
---|---|
Identifier field | LineHeightProperty |
Metadata properties set to true |
AffectsMeasure, AffectsRender, Inherits |