2012-10-22 47 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}" />