2012-10-22 19 views
0

我有使用Visual Studio 2012 Web Express运行的Silverlight 4应用程序。我在我的项目的Fonts文件夹中添加了CustomFont.zip。该文件被标记为“资源”。Silverlight自定义字体在运行时不工作

当我使用字体时,例如在TextBlock中,我可以在Visual Studio XAML设计器中看到它。但是当我运行应用程序时,它使用de默认标准字体。

这里我也象上面的例子嵌入式邮编尽我的TextBlock

<TextBlock FontFamily="/Fonts/CustomFont.zip#MyFontName" >Hello World</TextBlock> 

的例子。我也直接尝试了字体(没有zip)。试用TTF和OTF字体。我始终可以在设计时看到相同的结果,但不能在运行时看到它。

谢谢

回答

1

我相信你现在有这个工作,但我有同样的问题。我通过格式化我的FontFamily字符串来工作,如下所示,并且您绝对不希望该文件位于zip文件中。我在我创建的项目文件夹中有我的字体名为“字体”。

<TextBlock FontFamily="./Fonts/MyFontName.ttf#MyFontName" >Hello World</TextBlock> 
+0

谢谢,我明白了就像你说的那样,但不知道我为了使它工作而改变了什么。我仍在使用zip文件。它刚刚开始工作,突然。 – danbord

1

我也有同样的问题,我解决了如下。我不得不经过很多论坛,包括这个,但没有任何作品。但有些论坛要求我在强调我的兴趣之前强制加载字体。

在我TextBlockStyles.xaml资源字典我创建了一个styke

<Style x:Key="RadWindowTitleTextStyle" 
     TargetType="TextBlock"> 
     <Setter Property="Foreground" 
      Value="#FFB9D449" /> 
     <Setter Property="FontSize" 
      Value="18.667" /> 
     <Setter Property="FontFamily" 
      Value="/sampleawebsite.application;component/Assets/Fonts/UBSHead.ttf#UBSHeadline" /> 
     </Style> 

在我的MainPage,我只是给下面装入我的字体

<TextBlock Text="Do not display Font load purpose only" 
        Width="1" 
        Height="1" 
        Style="{StaticResource RadWindowTitleTextStyle}" 
        Foreground="Transparent" /> 

下面是我的一个兴趣点我的ChildWindow弹出式样资源字典名为RadWindowStyles.xaml

<TextBlock Text="{TemplateBinding Title}" 
      Style="{StaticResource RadWindowTitleTextStyle}" />