Silverlight自定义字体在运行时不工作

时间:2012-10-22 22:02:49

标签: silverlight silverlight-4.0 fonts

我有一个使用Visual Studio 2012 Web Express运行的Silverlight 4应用程序。我在项目的Fonts文件夹中添加了CustomFont.zip。该文件标记为“资源”。

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

这是我的TextBlock

的一个例子
<TextBlock FontFamily="/Fonts/CustomFont.zip#MyFontName" >Hello World</TextBlock>

我尝试使用嵌入式Zip,如上例所示。我也直接尝试了字体(没有zip)。尝试使用TTF和OTF字体。总是相同的结果我可以在设计时看到它,但不能在运行时看到它。

由于

2 个答案:

答案 0 :(得分:1)

我确定你现在有这个工作,但我有同样的问题。我通过格式化我的FontFamily字符串得到它的工作,如下所示,你绝对不希望该文件在一个zip文件中。我在我创建的名为“Fonts”的项目文件夹中有我的字体。

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

答案 1 :(得分: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" />

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

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