Updated: July 2009
Provides a lightweight control for displaying small amounts of flow content.
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
'Declaration <ContentPropertyAttribute("Inlines")> _ <LocalizabilityAttribute(LocalizationCategory.Text)> _ Public Class TextBlock _ Inherits FrameworkElement _ Implements IContentHost, IAddChild, IServiceProvider 'Usage Dim instance As TextBlock
Content Model: supports the hosting and display of Inline flow content elements. Supported elements include AnchoredBlock, Bold, Hyperlink, InlineUIContainer, Italic, LineBreak, Run, Span, and Underline. See TextBlock Content Model Overview for more information.
is designed to be lightweight, and is geared specifically at integrating small portions of flow content into a user interface (UI). is optimized for single-line display, and provides good performance for displaying up to a few lines of content.
is not optimized for scenarios that need to display more than a few lines of content; for such scenarios, a FlowDocument coupled with an appropriate viewing control is a better choice than , in terms of performance. After , FlowDocumentScrollViewer is the next lightest-weight control for displaying flow content, and simply provides a scrolling content area with minimal UI. FlowDocumentPageViewer is optimized around "page-at-a-time" viewing mode for flow content. Finally, FlowDocumentReader supports the richest set functionality for viewing flow content, but is correspondingly heavier-weight.
The following example shows how to use the element.
<TextBlock Name="textBlock1" TextWrapping="Wrap"> <Bold>TextBlock</Bold> is designed to be <Italic>lightweight</Italic>, and is geared specifically at integrating <Italic>small</Italic> portions of flow content into a UI. </TextBlock> <Button Width="100" Margin="10">Click Me</Button> <TextBlock Name="textBlock2" TextWrapping="Wrap" Background="AntiqueWhite" TextAlignment="Center" > By default, a TextBlock provides no UI beyond simply displaying its contents. </TextBlock> <Button Width="100" Margin="10">Click Me</Button>
The following figure shows how this example renders.
The following example shows how to shows how to achieve similar results programmatically.
TextBlock textBlock1 = new TextBlock(); TextBlock textBlock2 = new TextBlock(); textBlock1.TextWrapping = textBlock2.TextWrapping = TextWrapping.Wrap; textBlock2.Background = Brushes.AntiqueWhite; textBlock2.TextAlignment = TextAlignment.Center; textBlock1.Inlines.Add(new Bold(new Run("TextBlock"))); textBlock1.Inlines.Add(new Run(" is designed to be ")); textBlock1.Inlines.Add(new Italic(new Run("lightweight"))); textBlock1.Inlines.Add(new Run(", and is geared specifically at integrating ")); textBlock1.Inlines.Add(new Italic(new Run("small"))); textBlock1.Inlines.Add(new Run(" portions of flow content into a UI.")); textBlock2.Text = "By default, a TextBlock provides no UI beyond simply displaying its contents.";
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.