在Windows 8.1 Xaml Store App中将默认字体系列更改为自己的字体文件组

时间:2014-04-30 09:23:03

标签: xaml fonts winrt-xaml windows-8.1

我有一个自己的字体作为项目中的文件,并覆盖globalstyle.xaml中的默认fontfamily键(如帖子Change global application font in a Windows 8.1 app中所述):

<FontFamily x:Key="ContentControlThemeFontFamily">/Assets/Fonts/myFontType-Roman.ttf#myFont Type</FontFamily>

这就像一个魅力 - 对于一个字体文件。

我的问题: 是否可以在样式中使用字体系列组引用,而不仅仅是一个文件? 我找到的唯一可能性是WPF,似乎不适用于WinRT(Add font family in resourceDictionary

我有四个字体文件(myFontType-Bold.ttf,myFontType-Light.ttf,myFontType-Italic.ttf和myFontType-Roman.ttf),它们是本地安装在系统上的一个字体系列组。但不应在系统上安装该字体。

一个想法是定义四个键并添加所有四个fontfamilies。但这不是一个选项,因为我们希望通过样式中的关键字fontweight使用不同的字体粗细,而不是通过引用不同的字体系列。

任何想法或正确的方法将这些文件分组到一个组中并覆盖&#34; ContentControlThemeFontFamily&#34;将fontFamily应用于整个应用程序的关键。

感谢您的任何想法。

修改 顺便说一下,我还试图只使用字体系列名称:

<FontFamily x:Key="ContentControlThemeFontFamily">/Assets/Fonts/#myFont Type</FontFamily>

但这似乎没有效果......

1 个答案:

答案 0 :(得分:1)

您可以通过简单地使用属性ie(FontFamily)来更改字体系列。 代码必须如下所示: -

   <TextBlock Content="Meal-" Foreground="Black"  FontFamily="Assets/Font/MixBrush.ttf#MixBrush"  FontWeight="Bold" FontSize="55" />

此处 Assets / Font / MixBrush.ttf#MixBrush 位于清单文件中。 谢谢&amp;问候,