TextBlock.FontFamily Property
Gets or sets the preferred top-level font family for the TextBlock.
Assembly: PresentationFramework (in PresentationFramework.dll)
XMLNS for XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
[LocalizabilityAttribute(LocalizationCategory.Font)] public FontFamily FontFamily { get; set; }
<object> <object.FontFamily> <FontFamily .../> </object.FontFamily> </object>
<object FontFamily="fontFamilyName"/> - or - <object FontFamily="fontFamilyNamesList"/> - or - <object FontFamily="fontFamilyFolderReference"/> - or - <object FontFamily="fontFamilyUriReference"/>
XAML Values
Property Value
Type: System.Windows.Media.FontFamilyA FontFamily object specifying the preferred font family, or a primary preferred font family with one or more fallback font families. The default is the font determined by the MessageFontFamily value.
Any FontFamily settings on child elements override this top-level setting.
When multiple families are specified, the second and subsequent font families serve as fallback families to be used in cases where the primary font family is unavailable or not applicable.
This property specifies a preference only. If the specified font family is not available, the TextBlock silently falls back to the font determined by the MessageFontFamily value.
This dependency property also has an attached property usage. In XAML, the usage is <object TextBlock.FontFamily="value".../>, where object is an object element (typically a flow element) contained within a TextBlock, and value is one of the string-format values as explained in XAML Values. In code, the attached property usage is supported by GetFontFamily and SetFontFamily. The attached property usage is not common, because most elements that can be contained in a TextBlock support an analogous nonattached FontFamily property, which the TextBlock uses for rendering.
The following example shows how to set the FontFamily attribute of a TextBlock element.
<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 FontFamily property programmatically.
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;
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.