我尝试将google字体添加到我的silverlight项目中。所以我下载了zip并将字体添加到Fonts文件夹:
我试着像这样加载它:
<controls:DynamicTextBlock Grid.Column="2"
Width="200"
HorizontalAlignment="Left"
FontSize="{StaticResource FontSize6}"
FontFamily="/EZTrader;Component/Fonts/#RobotoLight"
Foreground="White"
Text="{Binding UserFullName}"
ToolTipService.ToolTip="{Binding UserFullName}" />
什么也没发生。 我该怎么做才能解决这个问题?
谢谢!
答案 0 :(得分:2)
如果您使用的是Windows,请使用Windows Font Viewer
检查Font name:
。该名称是您在引用它时将使用的名称。 注意:字体名称可能并不总是与.ttf
的文件名匹配,也可能包含空格。
您希望确保项目中包含文件的“构建操作”设置为资源,因为您希望能够从xaml引用它。
您可以在App.xaml中为FontFamily创建静态资源,以便在整个项目中引用它。
假设项目的程序集名称为EzTrader.dll
<FontFamily x:Key="RobotoLightFontFamily">/EzTrader;component/Fonts/RobotoLight.ttf#[Font name here]</FontFamily>
<FontFamily x:Key="RobotoThinFontFamily">/EzTrader;component/Fonts/Roboto-Thin.ttf#[Font name here]</FontFamily>
<!-- other font resources -->
然后建立项目。
从那里你应该可以像这样引用它
<controls:DynamicTextBlock Grid.Column="2"
Width="200"
HorizontalAlignment="Left"
FontSize="{StaticResource FontSize6}"
FontFamily="{StaticResource RobotoLightFontFamily}"
Foreground="White"
Text="{Binding UserFullName}"
ToolTipService.ToolTip="{Binding UserFullName}" />
参考:
How to use your own fonts within Silverlight
答案 1 :(得分:0)
如果可以,请检查字体的显示名称,而不是#后面部分的文件名。它实际上可能是Roboto Light。
<controls:DynamicTextBlock FontFamily="/EZTrader;component/Fonts/RobotoLight.ttf#Roboto Light" />
您可能还需要更改字体文件的构建属性,如下所示:http://geekswithblogs.net/mamta_m/archive/2010/07/01/adding-custom-fonts-to-your-silverlight-application.aspx。