【问题标题】:Silverlight custom Font not working at runtimeSilverlight 自定义字体在运行时不起作用
【发布时间】:2012-10-22 22:02:49
【问题描述】:

我有一个使用 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 字体。总是相同的结果,我可以在设计时看到它,但在运行时看不到。

谢谢

【问题讨论】:

    标签: silverlight silverlight-4.0 fonts


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢你,我已经按照你说的那样工作了,但不知道我做了什么改变才能让它工作。我仍在使用 zip 文件。它突然开始工作了。
    【解决方案2】:

    我也有同样的问题,我解决了如下。我不得不经历很多论坛,包括这个,但没有一个有效。但是一些论坛要求我在我感兴趣的点之前强制加载字体。

    在我的 TextBlockStyles.xaml 资源字典中,我创建了一个样式

    <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}" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多