2009-01-07 8 views
0

I ont une Combobox WPF qui lie àComboBox WPF Reliure police FileFormatException

Me.fontComboFast.ItemsSource = Fonts.SystemFontFamilies 


<ComboBox x:Name="fontComboFast"> 
    <ComboBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <VirtualizingStackPanel /> 
     </ItemsPanelTemplate> 
    </ComboBox.ItemsPanel> 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding}" FontFamily="{Binding}" FontSize="15" Height="20"/> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 
</ComboBox> 

L'exception suivante se produit. Comment serait le meilleur moyen d'effacer les polices Fonts.SystemFontFamilies de toutes les polices invalides?

'file: /// Fichier C:/Program Files (x86)/Fichiers communs/Adobe/SING/AssocCache/Generic.otf' n'est pas conforme à la spécification de format de fichier attendue.

Répondre

1

D'accord, l'exemple suivant a aidé Sample Font Chooser

Le code suivant exclut également les polices de symboles qui ne sont pas utilisables dans ma situation:

Friend Function IsSymbolFont(ByVal FontFamily As FontFamily) As Boolean 
    For Each typeface As Typeface In FontFamily.GetTypefaces() 
     Dim Face As New GlyphTypeface 

     Try 
      If typeface.TryGetGlyphTypeface(Face) Then 
       Return Face.Symbol 
      End If 
     Catch e As Exception 
      Return True 
     End Try 

    Next 
    Return False 
End Function