我正在创建一个WPF应用程序。
我已经在我的解决方案中创建了一个文件夹,并且其中有一些字体。
如何以编程方式更改TextBlock的FontFamily?
我正在创建一个WPF应用程序。
我已经在我的解决方案中创建了一个文件夹,并且其中有一些字体。
如何以编程方式更改TextBlock的FontFamily?
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>
后台代码
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;
如果您想加载自定义字体
controlID.FontFamily = new FontFamily("file:///Font
Full Path");
拿控件比如 TextBlock,然后使用以下代码设置其样式:
Style style = new Style(typeof(TextBlock));
然后使用资源添加一个setter,如下所示
style.Setters.Add(new Setter(TextBlock.FontFamilyProperty, this.FindResource("NameOfResource")));
最后将样式设置为控件...
myTextBlock.Style = style;
App.xaml:
<Application.Resources>
<FontFamily x:Key="samim">/Resources/Fonts/samim.TTF#Samim</FontFamily>
</Application.Resources>
lblTitle.FontFamily = (FontFamily)FindResource("samim");