Question

J'ai une zone de liste déroulante WPF liée à

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. Quelle serait la meilleure façon de supprimer les polices non valides des polices Fonts.SystemFontFamilies?

Le fichier

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

Était-ce utile?

La solution

Bien, l'exemple suivant a été utile à exemple. Sélecteur de polices

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top