TextDecorations Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Provides a set of static predefined text decorations.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)


public static class TextDecorations


Specifies a baseline TextDecoration.


Specifies an overline TextDecoration.


Specifies a strikethrough TextDecoration.


Specifies an underline TextDecoration.

There are four types of text decorations: baseline, overline, strikethrough, and underline. The following example shows the locations of the text decorations relative to the text.

Diagram of text decoration locations

Example of text decoration types

<object textDecorationsProperty="textDecorationType[,textDecorationType]"/>


The type of text decoration: Baseline, OverLine, Strikethrough, or Underline. More than one decoration is permitted, with values separated by commas. You can also specify "None" to indicate no type of text decoration.

In the following example, a strikethrough text decoration uses the default font value.

// Use the default font values for the strikethrough text decoration.
private void SetDefaultStrikethrough()
    // Set the underline decoration directly to the text block.
    TextBlock1.TextDecorations = TextDecorations.Strikethrough;
<!-- Use the default font values for the strikethrough text decoration. -->
  FontSize="36" >
  The quick red fox

You can also specify multiple text decorations for the same text. In the following example, an underline and overline text decoration are used for the same text.

<!-- Use both an underline and overline text decoration for the same text. -->
<TextBlock TextDecorations="Underline, Overline">
  The quick red fox

You can use the string value "None" to indicate that there are no text decorations in the TextDecorations collection. In the following example, the TextDecorations collection is set to "None".

<!-- Set the text decoration collection to None to indicate no decorations. -->
<TextBlock TextDecorations="None">
  The quick red fox

You can remove all text decorations from text by using the Clear method. In the following example, the TextDecorations collection is cleared.


By default, Hyperlink uses a TextDecoration object to display an underline. The following markup sample shows a Hyperlink defined with and without an underline:

<!-- Hyperlink with default underline. -->
<Hyperlink NavigateUri="http://www.msn.com">
  MSN Home

<Run Text=" | " />

<!-- Hyperlink with no underline. -->
<Hyperlink Name="myHyperlink" TextDecorations="None"
  My MSN

TextDecoration objects can be performance intensive to instantiate, particularly if you have many Hyperlink objects. For more information, see How to: Specify Whether a Hyperlink is Underlined.

.NET Framework
Available since 3.0
Available since 2.0
Windows Phone Silverlight
Available since 7.0

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top