Expand Minimize

TextBlock.Foreground property

Applies to Windows and Windows Phone

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


public Brush Foreground { get; set; }

<TextBlock Foreground="{StaticResource resourceName}"/>

<TextBlock Foreground="colorString"/>


XAML Values


The resource name (x:Key value) of an existing XAML resource that defines a brush. This is the recommended way to specify Brush values in XAML if you have any intention of using the same colors or brushes in more than one part of your UI. See Remarks in Brush or ResourceDictionary and XAML resource references.


The Color for a SolidColorBrush expressed as an attribute string. This can be a named color, an RGB value, or an ScRGB value. RGB or ScRGB may also specify alpha information. See the "XAML Values" section in Color.


Within opening and closing property elements, exactly one object element for an object that derives from Brush. This is typically one of the following classes: LinearGradientBrush, ImageBrush, SolidColorBrush.

Property value

Type: Brush

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.


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.


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.



Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Minimum supported phone

Windows Phone 8.1 [Windows Runtime apps only]


Windows::UI::Xaml::Controls [C++]



See also

Quickstart: Displaying text
Quickstart: Using brushes



© 2014 Microsoft