0

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

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

这是我的 TextBlock 的示例

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

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

谢谢

4

2 回答 2

1

I also had same problem and I solved like below. I had to go through a lot of forums including this but none works. But some forum asked me to forcibly load font before I come to point of my interest.

In my TextBlockStyles.xaml resource dictionary I created a 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>

In my MainPage, I just gave below to load my font

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

Below is my point of interest in one of my ChildWindow popup styles resource dictionary called RadWindowStyles.xaml

<TextBlock Text="{TemplateBinding Title}"
           Style="{StaticResource RadWindowTitleTextStyle}" />
于 2013-10-18T18:23:37.843 回答
1

我确定您现在已经可以正常工作了,但是我遇到了同样的问题。我通过像下面这样格式化我的 FontFamily 字符串来让它工作,你绝对不希望文件在一个 zip 文件中。我在我创建的名为“Fonts”的项目文件夹中有我的字体。

<TextBlock FontFamily="./Fonts/MyFontName.ttf#MyFontName" >Hello World</TextBlock>
于 2012-12-21T20:28:17.443 回答