TextBlock
TextBlock
TextBlock
TextBlock
Class
Definition
Some information relates to pre-released product which may be substantially modified before it’s commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Prerelease APIs are identified by a Prerelease label.
[Contains prerelease APIs.]
Provides a lightweight control for displaying small amounts of text.
public : sealed class TextBlock : FrameworkElement, ITextBlock, ITextBlock2, ITextBlock3, ITextBlock4, ITextBlock5public sealed class TextBlock : FrameworkElement, ITextBlock, ITextBlock2, ITextBlock3, ITextBlock4, ITextBlock5Public NotInheritable Class TextBlock Inherits FrameworkElement Implements ITextBlock, ITextBlock2, ITextBlock3, ITextBlock4, ITextBlock5// This API is not available in Javascript.
<TextBlock ...>text</TextBlock>
-or-
<TextBlock>
oneOrMoreInlineElements
</TextBlock>
-or-
<TextBlock .../>
- Inheritance
- Attributes
| Device family |
Windows 10 (introduced v10.0.10240.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v1)
|
Inherited Members
Inherited properties
Inherited events
Inherited methods
Examples
This example demonstrates a TextBlock with text selection enabled and text wrapping enabled.
The rendered text looks like this:

<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:

<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:

<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>
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.

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:

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:

Constructors
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// This API is not available in Javascript.
- Value
- double 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// This API is not available in Javascript.
<TextBlock CharacterSpacing="int"/>
- Value
- int 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// This API is not available in Javascript.
The identifier for the CharacterSpacing dependency property.
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// This API is not available in Javascript.
A TextPointer object for the end of text content in the TextBlock.
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// This API is not available in Javascript.
A TextPointer object for the start of text content in the TextBlock.
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// This API is not available in Javascript.
<TextBlock FontFamily="fontFamily" />
-or-
<TextBlock FontFamily="fontFamilyName[,fallbackFontFamilyName]" />
-or-
<TextBlock FontFamily="fontURI#fontFamily" />
A FontFamily object that specifies the preferred font family, or a primary preferred font family with one or more fallback font families. For information about defaults, see the FontFamily class topic.
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// This API is not available in Javascript.
The identifier for the FontFamily dependency property.
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// This API is not available in Javascript.
<TextBlock FontSize="double" .../>
- Value
- double 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// This API is not available in Javascript.
The identifier for the FontSize dependency property.
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// This API is not available in Javascript.
<TextBlock FontStretch="fontStretchMemberName"/>
The requested font stretch, as a FontStretch constant. The default is Normal.
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// This API is not available in Javascript.
The identifier for the FontStretch dependency property.
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// This API is not available in Javascript.
<TextBlock FontStyle="fontStyleMemberName"/>
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// This API is not available in Javascript.
The identifier for the FontStyle dependency property.
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// This API is not available in Javascript.
<TextBlock FontWeight="fontWeightsMemberName"/>
The requested font weight, which is a FontWeight that is obtained from one of the FontWeights property values. The default is Normal.
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// This API is not available in Javascript.
The identifier for the FontWeight dependency property.
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// This API is not available in Javascript.
<TextBlock Foreground="{StaticResource resourceName}"/>
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.
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 Colors.Maroon, and to create the SolidColorBrush instance that supplies the runtime value.
<TextBlock
FontSize="32"
FontWeight="Bold"
Foreground="Maroon">
Maroon
</TextBlock>
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.
- See Also
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// This API is not available in Javascript.
The identifier for the Foreground dependency property.
HorizontalTextAlignment HorizontalTextAlignment HorizontalTextAlignment HorizontalTextAlignment
Prerelease. Gets or sets a value that indicates how text is aligned in the TextBlock.
public : TextAlignment HorizontalTextAlignment { get; set; }public TextAlignment HorizontalTextAlignment { get; set; }Public ReadWrite Property HorizontalTextAlignment As TextAlignment// This API is not available in Javascript.
<TextBlock HorizontalTextAlignment="textAlignmentValue"/>
One of the TextAlignment enumeration values that specifies how text is aligned. The default is Left.
| Device family |
Windows 10 Insider Preview (introduced v10.0.16257.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v5)
|
Remarks
This property supports XAML Standard. It provides the same functionality as the TextAlignement property. If both properties are set to conflicting values, the last one set is used.
HorizontalTextAlignmentProperty HorizontalTextAlignmentProperty HorizontalTextAlignmentProperty HorizontalTextAlignmentProperty
Prerelease. Identifies the HorizontalTextAlignment dependency property.
public : static DependencyProperty HorizontalTextAlignmentProperty { get; }public static DependencyProperty HorizontalTextAlignmentProperty { get; }Public Static ReadOnly Property HorizontalTextAlignmentProperty As DependencyProperty// This API is not available in Javascript.
The identifier for the HorizontalTextAlignment dependency property.
| Device family |
Windows 10 Insider Preview (introduced v10.0.16257.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v5)
|
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// This API is not available in Javascript.
<TextBlock
oneOrMoreInlineElements
</TextBlock>
A collection that holds all inline text elements from the TextBlock. The default is an empty collection.
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 : PlatForm::Boolean IsColorFontEnabled { get; set; }public bool IsColorFontEnabled { get; set; }Public ReadWrite Property IsColorFontEnabled As bool// This API is not available in Javascript.
<TextBlock IsColorFontEnabled="bool" />
- Value
- PlatForm::Boolean 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// This API is not available in Javascript.
The identifier for the IsColorFontEnabled dependency property.
IsTextScaleFactorEnabled IsTextScaleFactorEnabled IsTextScaleFactorEnabled IsTextScaleFactorEnabled
Gets or sets whether automatic text enlargement, to reflect the system text size setting, is enabled.
public : PlatForm::Boolean IsTextScaleFactorEnabled { get; set; }public bool IsTextScaleFactorEnabled { get; set; }Public ReadWrite Property IsTextScaleFactorEnabled As bool// This API is not available in Javascript.
<TextBlock IsTextScaleFactorEnabled="bool"/>
- Value
- PlatForm::Boolean bool bool bool
true if automatic text enlargement is enabled; otherwise, false.
- See Also
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// This API is not available in Javascript.
The identifier for the IsTextScaleFactorEnabled dependency property.
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 : PlatForm::Boolean IsTextSelectionEnabled { get; set; }public bool IsTextSelectionEnabled { get; set; }Public ReadWrite Property IsTextSelectionEnabled As bool// This API is not available in Javascript.
<TextBlock IsTextSelectionEnabled="bool" />
- Value
- PlatForm::Boolean 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// This API is not available in Javascript.
The identifier for the IsTextSelectionEnabled dependency property.
IsTextTrimmed IsTextTrimmed IsTextTrimmed IsTextTrimmed
Prerelease. Gets a value that indicates whether the control has trimmed text that overflows the content area.
public : PlatForm::Boolean IsTextTrimmed { get; }public bool IsTextTrimmed { get; }Public ReadOnly Property IsTextTrimmed As bool// This API is not available in Javascript.
- Value
- PlatForm::Boolean bool bool bool
true if text is trimmed; otherwise, false.
| Device family |
Windows 10 Insider Preview (introduced v10.0.16257.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v5)
|
Remarks
See the TextTrimming property and TextTrimming enumeration for more info about how text is trimmed.
IsTextTrimmedProperty IsTextTrimmedProperty IsTextTrimmedProperty IsTextTrimmedProperty
Prerelease. Identifies the IsTextTrimmed dependency property.
public : static DependencyProperty IsTextTrimmedProperty { get; }public static DependencyProperty IsTextTrimmedProperty { get; }Public Static ReadOnly Property IsTextTrimmedProperty As DependencyProperty// This API is not available in Javascript.
The identifier for the IsTextTrimmed dependency property.
| Device family |
Windows 10 Insider Preview (introduced v10.0.16257.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v5)
|
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// This API is not available in Javascript.
<TextBlock LineHeight="double"/>
- Value
- double 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// This API is not available in Javascript.
The identifier for the LineHeight dependency property.
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// This API is not available in Javascript.
<TextBlock LineStackingStrategy="BlockLineHeight"/>
-or-
<TextBlock LineStackingStrategy="MaxHeight"/>
A value that indicates how a line box is determined for each line of text in the TextBlock. The default is MaxHeight.
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// This API is not available in Javascript.
The identifier for the LineStackingStrategy dependency property.
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// This API is not available in Javascript.
<TextBlock MaxLines="int"/>
- Value
- int 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// This API is not available in Javascript.
The identifier for the MaxLines dependency property.
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// This API is not available in Javascript.
<TextBlock OpticalMarginAlignment="None"/>
-or-
<TextBlock OpticalMarginAlignment="TrimSideBearings"/>
A value of the enumeration that indicates how the font is modified to align at different sizes. The default is None.
Remarks
When OpticalMarginAlignment is set to TrimSideBearings, 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 TrimSideBearings 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// This API is not available in Javascript.
The identifier for the OpticalMarginAlignment dependency property.
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// This API is not available in Javascript.
<TextBlock Padding="uniform"/>
- or -
<TextBlock Padding="left&Right,top&Bottom"/>
- or -
<TextBlock Padding="left,top,right,bottom"/>
A Thickness structure that specifies the amount of padding to apply.
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.
- See Also
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// This API is not available in Javascript.
The identifier for the Padding dependency property.
SelectedText SelectedText SelectedText SelectedText
Gets a text range of selected text.
public : PlatForm::String SelectedText { get; }public string SelectedText { get; }Public ReadOnly Property SelectedText As string// This API is not available in Javascript.
- Value
- PlatForm::String 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// This API is not available in Javascript.
The identifier for the SelectedText dependency property.
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// This API is not available in Javascript.
An object that represents the selection end, or null if no selection exists.
Remarks
Use Select 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// This API is not available in Javascript.
<TextBlock SelectionHighlightColor="{StaticResource resourceName}"/>
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.
- See Also
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// This API is not available in Javascript.
The identifier for the SelectionHighlightColor dependency property.
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// This API is not available in Javascript.
An object that represents the selection start, or null if no selection exists.
Remarks
Use Select to set the selection start and end.
Text Text Text Text
Gets or sets the text contents of a TextBlock.
public : PlatForm::String Text { get; set; }public string Text { get; set; }Public ReadWrite Property Text As string// This API is not available in Javascript.
<TextBlock Text="string"/>
- Value
- PlatForm::String 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// This API is not available in Javascript.
<TextBlock TextAlignment="textAlignmentMemberName"/>
The text alignment. The default is Left.
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// This API is not available in Javascript.
The identifier for the TextAlignment dependency property.
TextDecorations TextDecorations TextDecorations TextDecorations
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// This API is not available in Javascript.
A value of the enumeration. The default is None.
| Device family |
Windows 10 Creators Update (introduced v10.0.15063.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v4)
|
Remarks
This property is the preferred way to strikethrough or underline text.
TextDecorationsProperty TextDecorationsProperty TextDecorationsProperty TextDecorationsProperty
Identifies the TextDecorations dependency property.
public : static DependencyProperty TextDecorationsProperty { get; }public static DependencyProperty TextDecorationsProperty { get; }Public Static ReadOnly Property TextDecorationsProperty As DependencyProperty// This API is not available in Javascript.
The identifier for the TextDecorations dependency property.
| Device family |
Windows 10 Creators Update (introduced v10.0.15063.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v4)
|
TextHighlighters TextHighlighters TextHighlighters TextHighlighters
Prerelease. Gets the collection of text highlights.
public : IVector<TextHighlighter> TextHighlighters { get; }public IList<TextHighlighter> TextHighlighters { get; }Public ReadOnly Property TextHighlighters As IList<TextHighlighter>// This API is not available in Javascript.
- Value
- IVector<TextHighlighter> IList<TextHighlighter> IList<TextHighlighter> IList<TextHighlighter>
The collection of text highlights.
| Device family |
Windows 10 Insider Preview (introduced v10.0.16257.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v5)
|
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// This API is not available in Javascript.
<TextBlock TextLineBounds="textLineBoundsValue"/>
A value that indicates how the line box height is determined for each line of text in the TextBlock. The default is Full.
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// This API is not available in Javascript.
The identifier for the TextLineBounds dependency property.
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// This API is not available in Javascript.
The identifier of the Text dependency property.
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// This API is not available in Javascript.
<TextBlock TextReadingOrder="textReadingOrderValue"/>
A value that indicates how the reading order is determined for the TextBlock. The default is DetectFromContent.
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.
- See Also
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// This API is not available in Javascript.
The identifier for the TextReadingOrder dependency property.
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// This API is not available in Javascript.
<TextBlock TextTrimming="None"/>
-or-
<TextBlock TextTrimming="WordEllipsis"/>
One of the TextTrimming values that specifies the text trimming behavior to employ. The default is None.
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// This API is not available in Javascript.
The identifier of the TextTrimming dependency property.
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// This API is not available in Javascript.
<TextBlock TextWrapping="Wrap"/>
-or-
<TextBlock TextWrapping="NoWrap"/>
A value that indicates how the TextBlock wraps text. The default is NoWrap.
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// This API is not available in Javascript.
The identifier of the TextWrapping dependency property.
Methods
Focus(FocusState) Focus(FocusState) Focus(FocusState) Focus(FocusState)
Focuses the TextBlock, as if it were a conventionally focusable control.
public : PlatForm::Boolean Focus(FocusState value)public bool Focus(FocusState value)Public Function Focus(value As FocusState) As bool// This API is not available in Javascript.
Specifies the desired target for focus state, as a value of the enumeration.
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// This API is not available in Javascript.
A mask that represents the alpha channel of the text in a TextBlock.
| Device family |
Windows 10 Anniversary Edition (introduced v10.0.14393.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v3)
|
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(TextPointer, TextPointer) Select(TextPointer, TextPointer) Select(TextPointer, TextPointer) Select(TextPointer, TextPointer)
Selects a range of text in the TextBlock.
public : void Select(TextPointer start, TextPointer end)public void Select(TextPointer start, TextPointer end)Public Function Select(start As TextPointer, end As TextPointer) As void// This API is not available in Javascript.
An object that represents the start of the range to select.
An object that represents the end of the range to select.
Remarks
In WPF and Silverlight the equivalent API uses integer for start and end positions. This implementation uses TextPointer objects to specify the selection.
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// This API is not available in Javascript.
<TextBlock ContextMenuOpening="eventhandler" />
IsTextTrimmedChanged IsTextTrimmedChanged IsTextTrimmedChanged IsTextTrimmedChanged
Prerelease. Occurs when the IsTextTrimmed property value has changed.
public : event TypedEventHandler IsTextTrimmedChanged<TextBlock, IsTextTrimmedChangedEventArgs>public event TypedEventHandler IsTextTrimmedChanged<TextBlock, IsTextTrimmedChangedEventArgs>Public Event IsTextTrimmedChanged<TextBlock, IsTextTrimmedChangedEventArgs>// This API is not available in Javascript.
<TextBlock IsTextTrimmedChanged="eventhandler"/>
| Device family |
Windows 10 Insider Preview (introduced v10.0.16257.0)
|
| API contract |
Windows.Foundation.UniversalApiContract (introduced v5)
|
SelectionChanged SelectionChanged SelectionChanged SelectionChanged
Occurs when the text selection has changed.
public : event RoutedEventHandler SelectionChangedpublic event RoutedEventHandler SelectionChangedPublic Event SelectionChanged// This API is not available in Javascript.
<TextBlock SelectionChanged="eventhandler"/>