TextBlock TextBlock TextBlock Class

Provides a lightweight control for displaying small amounts of text.

Syntax

Declaration

public sealed class TextBlockpublic sealed class TextBlockPublic NotInheritable Class TextBlock
<TextBlock ...>text</TextBlock>
-or-
<TextBlock>
  oneOrMoreInlineElements
</TextBlock>
-or-
<TextBlock .../>

Remarks

TextBlock is the primary control for displaying read-only text in apps. You can use it to display single-line or multi-line text, inline hyperlinks, and text with formatting like bold, italic, or underlined.

Text block control

TextBlock is typically easier to use and provides better text rendering performance than RichTextBlock, so it's preferred for most app UI text. It also provides many of the same formatting options for customizing how your text is rendered. Although you can put line breaks in the text, TextBlock is designed to display a single paragraph and doesn’t support text indentation. Consider a RichTextBlock if you need support for multiple paragraphs, multi-column text, or inline UI elements like images.

For more info, see the TextBlock control guide.

Text performance

Starting in Windows 10, performance improvements were made to TextBlock that decrease overall memory use and greatly reduce the CPU time to do text measuring and arranging. To find out more about these performance improvements and how to make sure you are using them, see the Performance considerations section of the TextBlock control guide.

Built-in text styles

You can use Windows 10 text styles that ship with the platform to align the style of your text with the text used in the system. Here's how to use built-in styles to align with the Windows 10 type ramp. For more info, see XAML theme resources.

<TextBlock Text="Header" Style="{StaticResource HeaderTextBlockStyle}"/>
<TextBlock Text="SubHeader" Style="{StaticResource SubheaderTextBlockStyle}"/>
<TextBlock Text="Title" Style="{StaticResource TitleTextBlockStyle}"/>
<TextBlock Text="SubTitle" Style="{StaticResource SubtitleTextBlockStyle}"/>
<TextBlock Text="Base" Style="{StaticResource BaseTextBlockStyle}"/>
<TextBlock Text="Body" Style="{StaticResource BodyTextBlockStyle}"/>
<TextBlock Text="Caption" Style="{StaticResource CaptionTextBlockStyle}"/>

The rendered text looks like this:

Text block styles

Color fonts

By default TextBlock supports display color fonts. The default color font on the system is Segoe UI Emoji and the TextBlock will fall back to this font to display the glyphs in color. For more info, see the IsColorFontEnabled property.

<TextBlock FontSize="30">Hello ☺⛄☂♨⛅</TextBlock>

The rendered text looks like this:

Text block with color font

Examples

This example demonstrates a TextBlock with text selection enabled and text wrapping enabled.

The rendered text looks like this:

Text block with wrapped text

<TextBlock Text="This text demonstrates the wrapping behavior of a TextBlock." Width="240"
           IsTextSelectionEnabled="True" TextWrapping="Wrap"/>
TextBlock textBlock = new TextBlock();
textBlock.Text = "This text demonstrates the wrapping behavior of a TextBlock.";
textBlock.Width = 240;
textBlock.IsTextSelectionEnabled = true;
textBlock.TextWrapping = TextWrapping.Wrap;

// Add TextBlock to the visual tree.
rootPanel.Children.Add(textBlock);

This example shows how to customize the appearance of a TextBlock with a single Run of text. The FontWeight, FontFamily, FontStyle, Foreground color, and SelectionHighlightColor properties are customized.

The rendered text looks like this:

Text block with formatted text

<TextBlock Text="This text demonstrates some TextBlock properties." 
           IsTextSelectionEnabled="True" 
           SelectionHighlightColor="Green" 
           Foreground="Blue" 
           FontWeight="Light" 
           FontFamily="Arial" 
           FontStyle="Italic"/>
TextBlock textBlock = new TextBlock();
textBlock.Text = "This text demonstrates some TextBlock properties.";
textBlock.IsTextSelectionEnabled = true;
textBlock.SelectionHighlightColor = new SolidColorBrush(Windows.UI.Colors.Green);
textBlock.Foreground = new SolidColorBrush(Windows.UI.Colors.Blue);
textBlock.FontWeight = Windows.UI.Text.FontWeights.Light;
textBlock.FontFamily = new FontFamily("Arial");
textBlock.FontStyle = Windows.UI.Text.FontStyle.Italic;

// Add TextBlock to the visual tree.
rootPanel.Children.Add(textBlock);

This example demonstrates customizing different inline elements within a TextBlock.

The rendered text looks like this:

Text block with formatted inline elements

<TextBlock IsTextSelectionEnabled="True" SelectionHighlightColor="Green" FontFamily="Arial">
    <Run Foreground="Blue" FontWeight="Light" Text="This text demonstrates "></Run>
    <Span FontWeight="SemiBold">
        <Run FontStyle="Italic">the use of inlines </Run>
        <Run Foreground="Red">with formatting.</Run>
    </Span>
</TextBlock>
TextBlock textBlock = new TextBlock();
textBlock.IsTextSelectionEnabled = true;
textBlock.SelectionHighlightColor = new SolidColorBrush(Windows.UI.Colors.Green);
textBlock.FontFamily = new FontFamily("Arial");

// For Run and Span, add 'using Windows.UI.Xaml.Documents;'
Windows.UI.Xaml.Documents.Run run = new Run();
run.Foreground = new SolidColorBrush(Windows.UI.Colors.Blue);
run.FontWeight = Windows.UI.Text.FontWeights.Light;
run.Text = "This text demonstrates ";

Windows.UI.Xaml.Documents.Span span = new Span();
span.FontWeight = Windows.UI.Text.FontWeights.SemiBold;

Run run1 = new Run();
run1.FontStyle = Windows.UI.Text.FontStyle.Italic;
run1.Text = "the use of inlines ";

Run run2 = new Run();
run2.Foreground = new SolidColorBrush(Windows.UI.Colors.Red);
run2.Text = "with formatting.";

span.Inlines.Add(run1);
span.Inlines.Add(run2);
textBlock.Inlines.Add(run);
textBlock.Inlines.Add(span);

// Add TextBlock to the visual tree.
rootPanel.Children.Add(textBlock);

This example shows how to use an inline hyperlink. For more info, see Hyperlink.

<TextBlock><Hyperlink xml:space="preserve" NavigateUri="http://www.bing.com"> Hyperlink to Bing </Hyperlink></TextBlock>
//Create a TextBlock this is needed to put the hyperlink inside
TextBlock textBlock = new TextBlock();

// Create a Hyperlink and a Run. 
// The Run is used as the visible content of the hyperlink.
Hyperlink hyperlink = new Hyperlink();
Run run = new Run();

// Set the Text property on the run. 
// This is the visible text of the hyperlink.
run.Text = " Hyperlink to Bing ";

// Add the Run to the Hyperlink. 
hyperlink.Inlines.Add(run);

// Set the URI for the Hyperlink. 
hyperlink.NavigateUri = new Uri("http://www.bing.com");

// Add the Hyperlink to the TextBlock.
textBlock.Inlines.Add(hyperlink);

// Add TextBlock to the visual tree.        
rootPanel.Children.Add(textBlock);

The following example shows how to use the LineStackingStrategy property to determine how the line boxes are created for text lines of a TextBlock. The first TextBlock has a LineStackingStrategy value of MaxHeight and the second TextBlock has a value of BlockLineHeight.

<StackPanel>

<!-- This TextBlock has a LineStackingStrategy set to "MaxHeight". -->
<TextBlock FontFamily="Verdana"
           LineStackingStrategy="MaxHeight" 
           LineHeight="10" 
           Width="500" 
           TextWrapping="Wrap" >
    Use the <Run FontSize="30">LineStackingStrategy</Run> property to determine how a line box is
    created for each line. A value of <Run FontSize="20">MaxHeight</Run> specifies that the stack
    height is the smallest value that contains all the inline elements on that line when those
    elements are properly aligned. A value of <Run FontSize="20">BlockLineHeight</Run> specifies
    that the stack height is determined by the block element LineHeight property value.
</TextBlock>

    <!-- With a margin pushing down 20 pixels, draw a line just above the second textblock. -->
    <!-- The fonts will reach above the LineHeight size and over the line. -->
<StackPanel Margin="0,20,0,0" HorizontalAlignment="Center">
    <Line Stroke="Green"  X2="500" />
</StackPanel>

            <!-- Here is the same TextBlock but the LineStackingStrategy is set to "BlockLineHeight". -->
<TextBlock FontFamily="Verdana"
           LineStackingStrategy="BlockLineHeight" 
           LineHeight="10" 
           Width="500" 
           TextWrapping="Wrap">
    Use the <Run FontSize="30">LineStackingStrategy</Run> property to determine how a line box is
    created for each line. A value of <Run FontSize="20">MaxHeight</Run> specifies that the stack
    height is the smallest value that contains all the inline elements on that line when those
    elements are properly aligned. A value of <Run FontSize="20">BlockLineHeight</Run> specifies
    that the stack height is determined by the block element LineHeight property value.
</TextBlock>

</StackPanel>

Constructors summary

Initializes a new instance of the TextBlock class.

Properties summary

Returns a value by which each line of text is offset from a baseline.

Gets or sets the uniform spacing between characters, in units of 1/1000 of an em.

Identifies the CharacterSpacing dependency property.

Gets a TextPointer object for the end of text content in the TextBlock.

Gets a TextPointer object for the start of text content in the TextBlock.

Gets or sets the preferred top-level font family for the text content in this element.

Identifies the FontFamily dependency property.

Gets or sets the font size for the text content in this element.

Identifies the FontSize dependency property.

Gets or sets the font stretch for the text content in this element.

Identifies the FontStretch dependency property.

Gets or sets the font style for the content in this element.

Identifies the FontStyle dependency property.

Gets or sets the top-level font weight for the TextBlock.

Identifies the FontWeight dependency property.

Gets or sets the Brush to apply to the text contents of the TextBlock.

Identifies the Foreground dependency property.

Gets the collection of inline text elements within a TextBlock.

Gets or sets a value that determines whether font glyphs that contain color layers, such as Segoe UI Emoji, are rendered in color.

Identifies the IsColorFontEnabled dependency property.

Gets or sets whether automatic text enlargement, to reflect the system text size setting, is enabled.

Identifies the IsTextScaleFactorEnabled dependency property.

Gets or sets a value that indicates whether text selection is enabled in the TextBlock, either through user action or calling selection-related API.

Identifies the IsTextSelectionEnabled dependency property.

Gets or sets the height of each line of content.

Identifies the LineHeight dependency property.

Gets or sets a value that indicates how a line box is determined for each line of text in the TextBlock.

Identifies the LineStackingStrategy dependency property.

Gets or sets the maximum lines of text shown in the TextBlock.

Identifies the MaxLines dependency property.

Get or sets a value that indicates how the font is modified to align with fonts of different sizes.

Identifies the OpticalMarginAlignment dependency property.

Gets or sets a value that indicates the thickness of padding space between the boundaries of the content area and the content displayed by a TextBlock.

Identifies the Padding dependency property.

Gets a text range of selected text.

Identifies the SelectedText dependency property.

Gets the end position of the text selected in the TextBlock.

Gets or sets the brush used to highlight the selected text.

Identifies the SelectionHighlightColor dependency property.

Gets the starting position of the text selected in the TextBlock.

Gets or sets the text contents of a TextBlock.

Gets or sets a value that indicates the horizontal alignment of text content.

Identifies the TextAlignment dependency property.

Prerelease. Gets or sets a value that indicates what decorations are applied to the text.

Prerelease. Identifies the TextDecorations dependency property.

Gets or sets a value that indicates how the line box height is determined for each line of text in the TextBlock.

Identifies the TextLineBounds dependency property.

Identifies the Text dependency property.

Gets or sets a value that indicates how the reading order is determined for the TextBlock.

Identifies the TextReadingOrder dependency property.

Gets or sets the text trimming behavior to employ when content overflows the content area.

Identifies the TextTrimming dependency property.

Gets or sets how the TextBlock wraps text.

Identifies the TextWrapping dependency property.

Methods summary

Focuses the TextBlock, as if it were a conventionally focusable control.

Returns a mask that represents the alpha channel of the text as a CompositionBrush.

Selects a range of text in the TextBlock.

Selects the entire contents in the TextBlock.

Events summary

Occurs when the system processes an interaction that displays a context menu.

Occurs when the text selection has changed.

Constructors

  • TextBlock()
    TextBlock()
    TextBlock()
    TextBlock()

    Initializes a new instance of the TextBlock class.

    public TextBlock()public TextBlock()Public Function TextBlock() As

Properties

  • BaselineOffset
    BaselineOffset
    BaselineOffset
    BaselineOffset

    Returns a value by which each line of text is offset from a baseline.

    public double BaselineOffset { get; }public double BaselineOffset { get; }Public ReadOnly Property BaselineOffset As double

    Property Value

    • double
      double
      double

      The amount by which each line of text is offset from the baseline, in device independent pixels. System.Double.NaN indicates that an optimal baseline offset is automatically calculated from the current font characteristics. The default is System.Double.NaN.

    Remarks

    Note

    Visual C++ component extensions (C++/CX) doesn't have a constant for NaN, it uses a value, which appears as "-1.#IND" followed by zeros.

  • CharacterSpacing
    CharacterSpacing
    CharacterSpacing
    CharacterSpacing

    Gets or sets the uniform spacing between characters, in units of 1/1000 of an em.

    public int CharacterSpacing { get; set; }public int CharacterSpacing { get; set; }Public ReadWrite Property CharacterSpacing As int
    <TextBlock CharacterSpacing="int"/>
    

    Property Value

    • int
      int
      int

      The uniform spacing between characters, in units of 1/1000 of an em. The default is 0. Positive values increase tracking and loosen character spacing. Negative values decrease tracking and tighten the character spacing.

  • CharacterSpacingProperty
    CharacterSpacingProperty
    CharacterSpacingProperty
    CharacterSpacingProperty

    Identifies the CharacterSpacing dependency property.

    public static DependencyProperty CharacterSpacingProperty { get; }public static DependencyProperty CharacterSpacingProperty { get; }Public Static ReadOnly Property CharacterSpacingProperty As DependencyProperty

    Property Value

  • ContentEnd
    ContentEnd
    ContentEnd
    ContentEnd

    Gets a TextPointer object for the end of text content in the TextBlock.

    public TextPointer ContentEnd { get; }public TextPointer ContentEnd { get; }Public ReadOnly Property ContentEnd As TextPointer

    Property Value

  • ContentStart
    ContentStart
    ContentStart
    ContentStart

    Gets a TextPointer object for the start of text content in the TextBlock.

    public TextPointer ContentStart { get; }public TextPointer ContentStart { get; }Public ReadOnly Property ContentStart As TextPointer

    Property Value

  • FontFamily
    FontFamily
    FontFamily
    FontFamily

    Gets or sets the preferred top-level font family for the text content in this element.

    public FontFamily FontFamily { get; set; }public FontFamily FontFamily { get; set; }Public ReadWrite Property FontFamily As FontFamily
    <TextBlock FontFamily="fontFamily" />
    -or-
    <TextBlock FontFamily="fontFamilyName[,fallbackFontFamilyName]" />
    -or-
    <TextBlock FontFamily="fontURI#fontFamily" />
    

    Property Value

  • FontFamilyProperty
    FontFamilyProperty
    FontFamilyProperty
    FontFamilyProperty

    Identifies the FontFamily dependency property.

    public static DependencyProperty FontFamilyProperty { get; }public static DependencyProperty FontFamilyProperty { get; }Public Static ReadOnly Property FontFamilyProperty As DependencyProperty

    Property Value

  • FontSize
    FontSize
    FontSize
    FontSize

    Gets or sets the font size for the text content in this element.

    public double FontSize { get; set; }public double FontSize { get; set; }Public ReadWrite Property FontSize As double
    <TextBlock FontSize="double" .../>
    

    Property Value

    • double
      double
      double

      A non-negative value that specifies the font size, measured in pixels. The default is 11.

  • FontSizeProperty
    FontSizeProperty
    FontSizeProperty
    FontSizeProperty

    Identifies the FontSize dependency property.

    public static DependencyProperty FontSizeProperty { get; }public static DependencyProperty FontSizeProperty { get; }Public Static ReadOnly Property FontSizeProperty As DependencyProperty

    Property Value

  • FontStretch
    FontStretch
    FontStretch
    FontStretch

    Gets or sets the font stretch for the text content in this element.

    public FontStretch FontStretch { get; set; }public FontStretch FontStretch { get; set; }Public ReadWrite Property FontStretch As FontStretch
    <TextBlock FontStretch="fontStretchMemberName"/>
    

    Property Value

  • FontStretchProperty
    FontStretchProperty
    FontStretchProperty
    FontStretchProperty

    Identifies the FontStretch dependency property.

    public static DependencyProperty FontStretchProperty { get; }public static DependencyProperty FontStretchProperty { get; }Public Static ReadOnly Property FontStretchProperty As DependencyProperty

    Property Value

  • FontStyle
    FontStyle
    FontStyle
    FontStyle

    Gets or sets the font style for the content in this element.

    public FontStyle FontStyle { get; set; }public FontStyle FontStyle { get; set; }Public ReadWrite Property FontStyle As FontStyle
    <TextBlock FontStyle="fontStyleMemberName"/>
    

    Property Value

  • FontStyleProperty
    FontStyleProperty
    FontStyleProperty
    FontStyleProperty

    Identifies the FontStyle dependency property.

    public static DependencyProperty FontStyleProperty { get; }public static DependencyProperty FontStyleProperty { get; }Public Static ReadOnly Property FontStyleProperty As DependencyProperty

    Property Value

  • FontWeight
    FontWeight
    FontWeight
    FontWeight

    Gets or sets the top-level font weight for the TextBlock.

    public FontWeight FontWeight { get; set; }public FontWeight FontWeight { get; set; }Public ReadWrite Property FontWeight As FontWeight
    <TextBlock FontWeight="fontWeightsMemberName"/>
    

    Property Value

  • FontWeightProperty
    FontWeightProperty
    FontWeightProperty
    FontWeightProperty

    Identifies the FontWeight dependency property.

    public static DependencyProperty FontWeightProperty { get; }public static DependencyProperty FontWeightProperty { get; }Public Static ReadOnly Property FontWeightProperty As DependencyProperty

    Property Value

  • Foreground
    Foreground
    Foreground
    Foreground

    Gets or sets the Brush to apply to the text contents of the TextBlock.

    public Brush Foreground { get; set; }public Brush Foreground { get; set; }Public ReadWrite Property Foreground As Brush
    <TextBlock Foreground="{StaticResource resourceName}"/>
    
    

    Property Value

    • The brush used to apply to the text content. The default is a null brush from a pure code perspective, but the default text styles set this to Black (for Light theme) or White (for Dark theme) for a TextBlock element in UI.

    Remarks

    TextBlock isn't a control so you don't use templates to change its appearance. Instead you can use styles. It's more common (and a better practice) to use named styles for TextBlock appearance than it is to set inline attributes for each TextBlock instance, particularly if you are using common values in many elements. For more info on styles, see Quickstart: Styling controls.

    The default appearance of text and text styles depends heavily on the active theme and other settings. The theme and various styles and behaviors that are using default system settings or user preferences are the source of the effective runtime appearance of TextBlock foreground color of text as well as other text characteristics. You can change these defaults by changing the property values, or by applying a different style to specific TextBlock instances. You can change the foreground value for all default text by overriding the resource named DefaultTextForegroundThemeBrush in App.xaml.

    Examples

    The following XAML example shows how to set the Foreground property to a solid color using an inline-defined attribute value "Maroon". The XAML parser uses this "Maroon" value to refer to the named color Maroon, and to create the SolidColorBrush instance that supplies the runtime value.

    <TextBlock
      FontSize="32"
      FontWeight="Bold"
      Foreground="Maroon">
      Maroon
    </TextBlock>
    
  • ForegroundProperty
    ForegroundProperty
    ForegroundProperty
    ForegroundProperty

    Identifies the Foreground dependency property.

    public static DependencyProperty ForegroundProperty { get; }public static DependencyProperty ForegroundProperty { get; }Public Static ReadOnly Property ForegroundProperty As DependencyProperty

    Property Value

  • Inlines
    Inlines
    Inlines
    Inlines

    Gets the collection of inline text elements within a TextBlock.

    public InlineCollection Inlines { get; }public InlineCollection Inlines { get; }Public ReadOnly Property Inlines As InlineCollection
    <TextBlock
      oneOrMoreInlineElements
    </TextBlock>
    

    Property Value

  • IsColorFontEnabled
    IsColorFontEnabled
    IsColorFontEnabled
    IsColorFontEnabled

    Gets or sets a value that determines whether font glyphs that contain color layers, such as Segoe UI Emoji, are rendered in color.

    public bool IsColorFontEnabled { get; set; }public bool IsColorFontEnabled { get; set; }Public ReadWrite Property IsColorFontEnabled As bool
    <TextBlock IsColorFontEnabled="bool" />
    

    Property Value

    • bool
      bool
      bool

      true if color glyphs show in color; otherwise, false. The default is true.

    Remarks

    Windows 8.1 introduces the ability for fonts to include multiple colored layers for each glyph. For example, the Segoe UI Emoji font defines color versions of the Emoticon and other Emoji characters. By default, the IsColorFontEnabled property is true and fonts with these additional layers are rendered in color.

    In Windows 8, Extensible Application Markup Language (XAML) text controls don't render multi-color fonts in color. When an app that was compiled for Windows 8 is recompiled for Windows 8.1, color rendering of multi-color fonts is enabled by default. Some glyphs in multi-color fonts have different layout metrics when rendered in color. This could cause different layout in apps when they are recompiled for Windows 8.1. To retain the Windows 8 behavior when your app is recompiled for Windows 8.1, set IsColorFontEnabled to false.

  • IsColorFontEnabledProperty
    IsColorFontEnabledProperty
    IsColorFontEnabledProperty
    IsColorFontEnabledProperty

    Identifies the IsColorFontEnabled dependency property.

    public static DependencyProperty IsColorFontEnabledProperty { get; }public static DependencyProperty IsColorFontEnabledProperty { get; }Public Static ReadOnly Property IsColorFontEnabledProperty As DependencyProperty

    Property Value

  • IsTextScaleFactorEnabled
    IsTextScaleFactorEnabled
    IsTextScaleFactorEnabled
    IsTextScaleFactorEnabled

    Gets or sets whether automatic text enlargement, to reflect the system text size setting, is enabled.

    public bool IsTextScaleFactorEnabled { get; set; }public bool IsTextScaleFactorEnabled { get; set; }Public ReadWrite Property IsTextScaleFactorEnabled As bool
    <TextBlock IsTextScaleFactorEnabled="bool"/>
    

    Property Value

    • bool
      bool
      bool

      true if automatic text enlargement is enabled; otherwise, false.

  • IsTextScaleFactorEnabledProperty
    IsTextScaleFactorEnabledProperty
    IsTextScaleFactorEnabledProperty
    IsTextScaleFactorEnabledProperty

    Identifies the IsTextScaleFactorEnabled dependency property.

    public static DependencyProperty IsTextScaleFactorEnabledProperty { get; }public static DependencyProperty IsTextScaleFactorEnabledProperty { get; }Public Static ReadOnly Property IsTextScaleFactorEnabledProperty As DependencyProperty

    Property Value

  • IsTextSelectionEnabled
    IsTextSelectionEnabled
    IsTextSelectionEnabled
    IsTextSelectionEnabled

    Gets or sets a value that indicates whether text selection is enabled in the TextBlock, either through user action or calling selection-related API.

    public bool IsTextSelectionEnabled { get; set; }public bool IsTextSelectionEnabled { get; set; }Public ReadWrite Property IsTextSelectionEnabled As bool
    <TextBlock IsTextSelectionEnabled="bool" />
    

    Property Value

    • bool
      bool
      bool

      true if text selection is enabled; otherwise, false.

  • IsTextSelectionEnabledProperty
    IsTextSelectionEnabledProperty
    IsTextSelectionEnabledProperty
    IsTextSelectionEnabledProperty

    Identifies the IsTextSelectionEnabled dependency property.

    public static DependencyProperty IsTextSelectionEnabledProperty { get; }public static DependencyProperty IsTextSelectionEnabledProperty { get; }Public Static ReadOnly Property IsTextSelectionEnabledProperty As DependencyProperty

    Property Value

  • LineHeight
    LineHeight
    LineHeight
    LineHeight

    Gets or sets the height of each line of content.

    public double LineHeight { get; set; }public double LineHeight { get; set; }Public ReadWrite Property LineHeight As double
    <TextBlock LineHeight="double"/>
    

    Property Value

    • double
      double
      double

      The height of each line in pixels. A value of 0 indicates that the line height is determined automatically from the current font characteristics. The default is 0.

  • LineHeightProperty
    LineHeightProperty
    LineHeightProperty
    LineHeightProperty

    Identifies the LineHeight dependency property.

    public static DependencyProperty LineHeightProperty { get; }public static DependencyProperty LineHeightProperty { get; }Public Static ReadOnly Property LineHeightProperty As DependencyProperty

    Property Value

  • LineStackingStrategy
    LineStackingStrategy
    LineStackingStrategy
    LineStackingStrategy

    Gets or sets a value that indicates how a line box is determined for each line of text in the TextBlock.

    public LineStackingStrategy LineStackingStrategy { get; set; }public LineStackingStrategy LineStackingStrategy { get; set; }Public ReadWrite Property LineStackingStrategy As LineStackingStrategy
    <TextBlock LineStackingStrategy="BlockLineHeight"/>
    -or-
    <TextBlock LineStackingStrategy="MaxHeight"/>
    

    Property Value

  • LineStackingStrategyProperty
    LineStackingStrategyProperty
    LineStackingStrategyProperty
    LineStackingStrategyProperty

    Identifies the LineStackingStrategy dependency property.

    public static DependencyProperty LineStackingStrategyProperty { get; }public static DependencyProperty LineStackingStrategyProperty { get; }Public Static ReadOnly Property LineStackingStrategyProperty As DependencyProperty

    Property Value

  • MaxLines
    MaxLines
    MaxLines
    MaxLines

    Gets or sets the maximum lines of text shown in the TextBlock.

    public int MaxLines { get; set; }public int MaxLines { get; set; }Public ReadWrite Property MaxLines As int
    <TextBlock MaxLines="int"/>
    

    Property Value

    • int
      int
      int

      The maximum lines of text shown in the TextBlock. The default is 0, which is a special value that represents "Auto" behavior. The value cannot be negative.

    Remarks

    Use the MaxLines property to specify the maximum lines of text shown in a text block. The text control will adjust it’s height to show no more than the specified number of lines, regardless of the font size, font style, or text length.

    Negative integer values are invalid, and will cause a run-time exception.

  • MaxLinesProperty
    MaxLinesProperty
    MaxLinesProperty
    MaxLinesProperty

    Identifies the MaxLines dependency property.

    public static DependencyProperty MaxLinesProperty { get; }public static DependencyProperty MaxLinesProperty { get; }Public Static ReadOnly Property MaxLinesProperty As DependencyProperty

    Property Value

  • OpticalMarginAlignment
    OpticalMarginAlignment
    OpticalMarginAlignment
    OpticalMarginAlignment

    Get or sets a value that indicates how the font is modified to align with fonts of different sizes.

    public OpticalMarginAlignment OpticalMarginAlignment { get; set; }public OpticalMarginAlignment OpticalMarginAlignment { get; set; }Public ReadWrite Property OpticalMarginAlignment As OpticalMarginAlignment
    <TextBlock OpticalMarginAlignment="None"/>
    -or-
    <TextBlock OpticalMarginAlignment="TrimSideBearings"/>
    

    Property Value

    Remarks

    When OpticalMarginAlignment is set to OpticalMarginAlignment, the text is trimmed to the leftmost stroke of the first character and the rightmost stroke of the last character on a line. For example, an "L" has a small amount of space to the left of the vertical stroke, which scales with font size. When OpticalMarginAlignment is set, the left of the vertical stroke is directly aligned without the spacing. This enables easier alignment to the Windows grid system as explained in Laying out an app page.

  • OpticalMarginAlignmentProperty
    OpticalMarginAlignmentProperty
    OpticalMarginAlignmentProperty
    OpticalMarginAlignmentProperty

    Identifies the OpticalMarginAlignment dependency property.

    public static DependencyProperty OpticalMarginAlignmentProperty { get; }public static DependencyProperty OpticalMarginAlignmentProperty { get; }Public Static ReadOnly Property OpticalMarginAlignmentProperty As DependencyProperty

    Property Value

  • Padding
    Padding
    Padding
    Padding

    Gets or sets a value that indicates the thickness of padding space between the boundaries of the content area and the content displayed by a TextBlock.

    public Thickness Padding { get; set; }public Thickness Padding { get; set; }Public ReadWrite Property Padding As Thickness
    <TextBlock Padding="uniform"/>
    - or -
    <TextBlock Padding="left&Right,top&Bottom"/>
    - or -
    <TextBlock Padding="left,top,right,bottom"/>
    

    Property Value

    Remarks

    A related property is Margin (a property of FrameworkElement ). For more info about the relationship between margin and padding, see Alignment, margin, and padding or Define layouts with XAML.

  • PaddingProperty
    PaddingProperty
    PaddingProperty
    PaddingProperty

    Identifies the Padding dependency property.

    public static DependencyProperty PaddingProperty { get; }public static DependencyProperty PaddingProperty { get; }Public Static ReadOnly Property PaddingProperty As DependencyProperty

    Property Value

  • SelectedText
    SelectedText
    SelectedText
    SelectedText

    Gets a text range of selected text.

    public string SelectedText { get; }public string SelectedText { get; }Public ReadOnly Property SelectedText As string

    Property Value

    • string
      string
      string

      A text range of the selected text.

  • SelectedTextProperty
    SelectedTextProperty
    SelectedTextProperty
    SelectedTextProperty

    Identifies the SelectedText dependency property.

    public static DependencyProperty SelectedTextProperty { get; }public static DependencyProperty SelectedTextProperty { get; }Public Static ReadOnly Property SelectedTextProperty As DependencyProperty

    Property Value

  • SelectionEnd
    SelectionEnd
    SelectionEnd
    SelectionEnd

    Gets the end position of the text selected in the TextBlock.

    public TextPointer SelectionEnd { get; }public TextPointer SelectionEnd { get; }Public ReadOnly Property SelectionEnd As TextPointer

    Property Value

    Remarks

    Use Select(Windows.UI.Xaml.Documents.TextPointer,Windows.UI.Xaml.Documents.TextPointer) to set the selection start and end.

  • SelectionHighlightColor
    SelectionHighlightColor
    SelectionHighlightColor
    SelectionHighlightColor

    Gets or sets the brush used to highlight the selected text.

    public SolidColorBrush SelectionHighlightColor { get; set; }public SolidColorBrush SelectionHighlightColor { get; set; }Public ReadWrite Property SelectionHighlightColor As SolidColorBrush
    <TextBlock SelectionHighlightColor="{StaticResource resourceName}"/>
    
    

    Property Value

    • The brush used to highlight the selected text. The default is a null brush from a pure code perspective, but the system uses base text styles to supply a runtime value for apps (unless you specifically override that style). The practical default is a brush using the theme resource TextSelectionHighlightThemeColor.

  • SelectionHighlightColorProperty
    SelectionHighlightColorProperty
    SelectionHighlightColorProperty
    SelectionHighlightColorProperty

    Identifies the SelectionHighlightColor dependency property.

    public static DependencyProperty SelectionHighlightColorProperty { get; }public static DependencyProperty SelectionHighlightColorProperty { get; }Public Static ReadOnly Property SelectionHighlightColorProperty As DependencyProperty

    Property Value

  • SelectionStart
    SelectionStart
    SelectionStart
    SelectionStart

    Gets the starting position of the text selected in the TextBlock.

    public TextPointer SelectionStart { get; }public TextPointer SelectionStart { get; }Public ReadOnly Property SelectionStart As TextPointer

    Property Value

    Remarks

    Use Select(Windows.UI.Xaml.Documents.TextPointer,Windows.UI.Xaml.Documents.TextPointer) to set the selection start and end.

  • Text
    Text
    Text
    Text

    Gets or sets the text contents of a TextBlock.

    public string Text { get; set; }public string Text { get; set; }Public ReadWrite Property Text As string
    <TextBlock Text="string"/>
    

    Property Value

    • string
      string
      string

      A string that specifies the text contents of this TextBlock. The default is an empty string.

  • TextAlignment
    TextAlignment
    TextAlignment
    TextAlignment

    Gets or sets a value that indicates the horizontal alignment of text content.

    public TextAlignment TextAlignment { get; set; }public TextAlignment TextAlignment { get; set; }Public ReadWrite Property TextAlignment As TextAlignment
    <TextBlock TextAlignment="textAlignmentMemberName"/>
    

    Property Value

  • TextAlignmentProperty
    TextAlignmentProperty
    TextAlignmentProperty
    TextAlignmentProperty

    Identifies the TextAlignment dependency property.

    public static DependencyProperty TextAlignmentProperty { get; }public static DependencyProperty TextAlignmentProperty { get; }Public Static ReadOnly Property TextAlignmentProperty As DependencyProperty

    Property Value

  • TextDecorations
    TextDecorations
    TextDecorations
    TextDecorations

    Prerelease. Gets or sets a value that indicates what decorations are applied to the text.

    public TextDecorations TextDecorations { get; set; }public TextDecorations TextDecorations { get; set; }Public ReadWrite Property TextDecorations As TextDecorations

    Property Value

    Remarks

    This property is the preferred way to strikethrough or underline text.

  • TextDecorationsProperty
    TextDecorationsProperty
    TextDecorationsProperty
    TextDecorationsProperty

    Prerelease. Identifies the TextDecorations dependency property.

    public static DependencyProperty TextDecorationsProperty { get; }public static DependencyProperty TextDecorationsProperty { get; }Public Static ReadOnly Property TextDecorationsProperty As DependencyProperty

    Property Value

  • TextLineBounds
    TextLineBounds
    TextLineBounds
    TextLineBounds

    Gets or sets a value that indicates how the line box height is determined for each line of text in the TextBlock.

    public TextLineBounds TextLineBounds { get; set; }public TextLineBounds TextLineBounds { get; set; }Public ReadWrite Property TextLineBounds As TextLineBounds
    <TextBlock TextLineBounds="textLineBoundsValue"/>
    

    Property Value

    Remarks

    For illustrations of how the different values for TextLineBounds affect adjacent lines of text, see TextLineBounds.

  • TextLineBoundsProperty
    TextLineBoundsProperty
    TextLineBoundsProperty
    TextLineBoundsProperty

    Identifies the TextLineBounds dependency property.

    public static DependencyProperty TextLineBoundsProperty { get; }public static DependencyProperty TextLineBoundsProperty { get; }Public Static ReadOnly Property TextLineBoundsProperty As DependencyProperty

    Property Value

  • TextProperty
    TextProperty
    TextProperty
    TextProperty

    Identifies the Text dependency property.

    public static DependencyProperty TextProperty { get; }public static DependencyProperty TextProperty { get; }Public Static ReadOnly Property TextProperty As DependencyProperty

    Property Value

  • TextReadingOrder
    TextReadingOrder
    TextReadingOrder
    TextReadingOrder

    Gets or sets a value that indicates how the reading order is determined for the TextBlock.

    public TextReadingOrder TextReadingOrder { get; set; }public TextReadingOrder TextReadingOrder { get; set; }Public ReadWrite Property TextReadingOrder As TextReadingOrder
    <TextBlock TextReadingOrder="textReadingOrderValue"/>
    

    Property Value

    Remarks

    This property can be useful when the base direction of the text is unknown, and may not match the user's language or direction. For more info, see the Remarks section of the TextReadingOrder enumeration or How to support bidirectional UI.

    Note

    In Windows 8.1, the default value is 0, Default. Starting with Windows 10, the enumeration value 0 has the constant name UseFlowDirection, and is not the default value.

  • TextReadingOrderProperty
    TextReadingOrderProperty
    TextReadingOrderProperty
    TextReadingOrderProperty

    Identifies the TextReadingOrder dependency property.

    public static DependencyProperty TextReadingOrderProperty { get; }public static DependencyProperty TextReadingOrderProperty { get; }Public Static ReadOnly Property TextReadingOrderProperty As DependencyProperty

    Property Value

  • TextTrimming
    TextTrimming
    TextTrimming
    TextTrimming

    Gets or sets the text trimming behavior to employ when content overflows the content area.

    public TextTrimming TextTrimming { get; set; }public TextTrimming TextTrimming { get; set; }Public ReadWrite Property TextTrimming As TextTrimming
    <TextBlock TextTrimming="None"/>
    -or-
    <TextBlock TextTrimming="WordEllipsis"/>
    

    Property Value

  • TextTrimmingProperty
    TextTrimmingProperty
    TextTrimmingProperty
    TextTrimmingProperty

    Identifies the TextTrimming dependency property.

    public static DependencyProperty TextTrimmingProperty { get; }public static DependencyProperty TextTrimmingProperty { get; }Public Static ReadOnly Property TextTrimmingProperty As DependencyProperty

    Property Value

  • TextWrapping
    TextWrapping
    TextWrapping
    TextWrapping

    Gets or sets how the TextBlock wraps text.

    public TextWrapping TextWrapping { get; set; }public TextWrapping TextWrapping { get; set; }Public ReadWrite Property TextWrapping As TextWrapping
    <TextBlock TextWrapping="Wrap"/>
    -or-
    <TextBlock TextWrapping="NoWrap"/>
    

    Property Value

  • TextWrappingProperty
    TextWrappingProperty
    TextWrappingProperty
    TextWrappingProperty

    Identifies the TextWrapping dependency property.

    public static DependencyProperty TextWrappingProperty { get; }public static DependencyProperty TextWrappingProperty { get; }Public Static ReadOnly Property TextWrappingProperty As DependencyProperty

    Property Value

Methods

  • Focus(Windows.UI.Xaml.FocusState)
    Focus(Windows.UI.Xaml.FocusState)
    Focus(Windows.UI.Xaml.FocusState)
    Focus(Windows.UI.Xaml.FocusState)

    Focuses the TextBlock, as if it were a conventionally focusable control.

    public bool Focus(Windows.UI.Xaml.FocusState value)public bool Focus(Windows.UI.Xaml.FocusState value)Public Function Focus(value As Windows.UI.Xaml.FocusState) As bool

    Parameters

    Returns

    • bool
      bool
      bool

      true if focus was set to the TextBlock, or focus was already there. false if the TextBlock is not focusable.

    Remarks

  • GetAlphaMask()
    GetAlphaMask()
    GetAlphaMask()
    GetAlphaMask()

    Returns a mask that represents the alpha channel of the text as a CompositionBrush.

    public CompositionBrush GetAlphaMask()public CompositionBrush GetAlphaMask()Public Function GetAlphaMask() As CompositionBrush

    Returns

    Remarks

    This method gets an alpha mask from the text as a CompositionBrush that you can use as an input to composition shadows and effects. The alpha mask CompositionBrush has the same alignment and stretch property values that the source XAML element applies to its rendered content so that you can use those values to correctly position shadows or effects relative to the XAML element.

    Version compatibility

    The GetAlphaMask() method is not available prior to Windows 10, version 1607. If your app’s 'minimum platform version' setting in Microsoft Visual Studio is less than the 'introduced version' shown in the Requirements block later in this page, you must design and test your app to account for this. For more info, see Version adaptive code.

    To avoid exceptions when your app runs on previous versions of Windows 10, do not call this method without first performing a runtime check. This example shows how to use the ApiInformation class to check for the presence of this method before you use it.

    if (ApiInformation.IsMethodPresent("Windows.UI.Xaml.Controls.TextBlock", "GetAlphaMask"))
    {
        var compositionBrush = textBlock1.GetAlphaMask();
    }
    
  • Select(Windows.UI.Xaml.Documents.TextPointer,Windows.UI.Xaml.Documents.TextPointer)
    Select(Windows.UI.Xaml.Documents.TextPointer,Windows.UI.Xaml.Documents.TextPointer)
    Select(Windows.UI.Xaml.Documents.TextPointer,Windows.UI.Xaml.Documents.TextPointer)
    Select(Windows.UI.Xaml.Documents.TextPointer,Windows.UI.Xaml.Documents.TextPointer)

    Selects a range of text in the TextBlock.

    public void Select(Windows.UI.Xaml.Documents.TextPointer start,Windows.UI.Xaml.Documents.TextPointer end)public void Select(Windows.UI.Xaml.Documents.TextPointer start,Windows.UI.Xaml.Documents.TextPointer end)Public Function Select(start As Windows.UI.Xaml.Documents.TextPointer,end As Windows.UI.Xaml.Documents.TextPointer) As void

    Parameters

    Remarks

    In WPF and Silverlight the equivalent API uses integer for start and end positions. This implementation uses TextPointer objects to specify the selection.

  • SelectAll()
    SelectAll()
    SelectAll()
    SelectAll()

    Selects the entire contents in the TextBlock.

    public void SelectAll()public void SelectAll()Public Function SelectAll() As void

Events

  • ContextMenuOpening
    ContextMenuOpening
    ContextMenuOpening
    ContextMenuOpening

    Occurs when the system processes an interaction that displays a context menu.

    public event ContextMenuOpeningEventHandler ContextMenuOpeningpublic event ContextMenuOpeningEventHandler ContextMenuOpeningPublic Event ContextMenuOpening
    <TextBlock ContextMenuOpening="eventhandler" />
    
  • SelectionChanged
    SelectionChanged
    SelectionChanged
    SelectionChanged

    Occurs when the text selection has changed.

    public event RoutedEventHandler SelectionChangedpublic event RoutedEventHandler SelectionChangedPublic Event SelectionChanged
    <TextBlock SelectionChanged="eventhandler"/>
    

Attributes

Windows.Foundation.Metadata.MarshalingBehaviorAttribute
Windows.Foundation.Metadata.StaticAttribute
Windows.Foundation.Metadata.StaticAttribute
Windows.Foundation.Metadata.ContractVersionAttribute
Windows.Foundation.Metadata.ActivatableAttribute
Windows.Foundation.Metadata.ThreadingAttribute
Windows.UI.Xaml.Markup.ContentPropertyAttribute
Windows.Foundation.Metadata.StaticAttribute
Windows.Foundation.Metadata.StaticAttribute
Windows.Foundation.Metadata.WebHostHiddenAttribute

Details

Assembly

Windows.UI.Xaml.Controls.dll