#337 – Specifying Font Properties for All Controls In a Window
July 7, 2011 Leave a comment
Because the various font-related properties are dependency properties, they can be set on a high-level element in the logical tree and “trickle down” to lower-level elements. The lower-level elements inherit property values from higher-level elements.
In the example below, we specify a font to use for all child controls within a window.
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" x:Class="WpfApplication11.MainWindow" x:Name="Window" Title="Quotes" Width="780" Height="368" FontFamily="Georgia"> <StackPanel> <Label Content="A nice quote:" Margin="20,10,20,0"/> <TextBlock Name="txt2" Margin="20" FontSize="18" TextWrapping="Wrap"> Freedom is never dear at any price. It is the breath of life. What would a man not pay for living?<LineBreak/> --Mohandas Gandhi </TextBlock> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center"> <RadioButton Content="Like" Margin="10"/> <RadioButton Content="Don't Like" Margin="10"/> </StackPanel> <Button Content="OK" FontFamily="Tahoma" Width="100" Margin="20"/> </StackPanel>
Notice that we can override an inherited property by setting it explicitly for a control. We specify that Tahoma should be the FontFamily for the Button control.