就像我的其他Windows Phone 8项目一样,我想使用自定义字体。但是使用新的通用应用程序架构,我很难将其付诸实施。
我在共享项目中创建了一个“Fonts”文件夹,我将带有Build Action属性的字体文件添加到“Content”。
我还在共享项目中创建了一个“Themes”文件夹,并为其添加了一个ResourceDictionnary(“Generic.xaml”)。
我添加了FontFamily资源:
<FontFamily x:Key="RexBoldFontFamily">/Fonts/Rex Bold.otf#Rex Bold</FontFamily>
我在App.xaml中引用了它:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Themes/Generic.xaml"/>
</ResourceDictionary.MergedDictionaries>
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="true" />
</ResourceDictionary>
</Application.Resources>
在我的Windows Phone项目的MainPage.xaml中,我尝试使用它:
<TextBlock Text="{Binding HelloWorld}" Foreground="{ThemeResource RedBrush}" HorizontalAlignment="Center" VerticalAlignment="Center" FontFamily="{StaticResource RexBoldFontFamily}" FontSize="22"/>
我确定这是字体的名称,因为这适用于我的一个Windows手机应用程序。所有这些都很好,因为它适用于色彩资源。
任何人都成功共享字体并使用它,
答案 0 :(得分:15)
你做得很好,除了字体名称('#'之后的部分)。它似乎是Rex,而不是Rex Bold。
<FontFamily x:Key="RexBoldFontFamily">/Fonts/Rex Bold.otf#Rex</FontFamily>
答案 1 :(得分:4)
在ur xaml中使用此代码
<TextBlock x:Name="txtblk" HorizontalAlignment="Left" TextWrapping="Wrap" FontFamily="Assets/filename.ttf#Font Name"/>