Связывание шрифтов WPF ComboBox FileFormatException - PullRequest
0 голосов
/ 07 января 2009

У меня есть WPF Combobox, который привязывается к

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>

Следующее исключение происходит. Как лучше всего очистить Fonts.SystemFontFamilies от любых недопустимых шрифтов?

Файл

': /// C: / Program Files (x86) / Common Files / Adobe / SING / AssocCache / Generic.otf' не соответствует ожидаемой спецификации формата файла.

1 Ответ

1 голос
/ 07 января 2009

Хорошо, следующий пример помог Выбор шрифта образца

Следующий код также исключает символьные шрифты, которые нельзя использовать в моей ситуации:

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
...