TextBlock.FontWeight Property

Definition

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

C#
public System.Windows.FontWeight FontWeight { get; set; }

Property Value

A member of the FontWeights class specifying the desired font weight. The default is determined by the MessageFontWeight value.

Examples

The following example shows how to set the FontWeight attribute of a TextBlock element.

XAML
<TextBlock 
  Name="textBlock"
  
  Background="AntiqueWhite" 
  Foreground="Navy" 
  
  FontFamily="Century Gothic"
  FontSize="12"
  FontStretch="UltraExpanded"
  FontStyle="Italic"
  FontWeight="UltraBold"
  
  LineHeight="Auto"
  Padding="5,10,5,10"
  TextAlignment="Center"
  TextWrapping="Wrap"
  
  Typography.NumeralStyle="OldStyle"
  Typography.SlashedZero="True"
>
  <Run Background="LightGreen">Text run 1.</Run>
  <LineBreak/><Run Background="LightBlue">Text run 2.</Run>
  <LineBreak/><Run Background="LightYellow">Text run 3.</Run>
</TextBlock>

The following example shows how to set the FontWeight property programmatically.

C#
TextBlock textBlock = new TextBlock(new Run("A bit of text content..."));

textBlock.Background              = Brushes.AntiqueWhite;
textBlock.Foreground              = Brushes.Navy;

textBlock.FontFamily              = new FontFamily("Century Gothic");
textBlock.FontSize                = 12;
textBlock.FontStretch             = FontStretches.UltraExpanded;
textBlock.FontStyle               = FontStyles.Italic;
textBlock.FontWeight              = FontWeights.UltraBold;

textBlock.LineHeight              = Double.NaN;
textBlock.Padding                 = new Thickness(5, 10, 5, 10);
textBlock.TextAlignment           = TextAlignment.Center;
textBlock.TextWrapping            = TextWrapping.Wrap;

textBlock.Typography.NumeralStyle = FontNumeralStyle.OldStyle;
textBlock.Typography.SlashedZero  = true;

Remarks

Any FontWeight settings on child elements override this top-level setting.

For a list of valid values of font weights, see the FontWeights class.

This dependency property also has an attached property usage. In XAML, the usage is <object TextBlock.FontWeight="value".../>, where object is an object element (typically a flow element) contained within a TextBlock, and value is one of the string-format values of a property of the FontWeights class. In code, the attached property usage is supported by GetFontWeight and SetFontWeight. The attached property usage is not common, because most elements that can be contained in a TextBlock support an analogous nonattached FontWeight property, which the TextBlock uses for rendering.

Dependency Property Information

Item Value
Identifier field FontWeightProperty
Metadata properties set to true AffectsMeasure, AffectsRender, Inherits

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9