Tipp der Woche
12.05.2022, 13:41 Uhr
WPF/VB: Fontnamen in eine ComboBox einlesen
Soll ein Programm dem Anwender erlauben die Schriftart zu ändern, ist es hilfreich eine ComboBox mit allen auf dem System verfügbaren Fonts anzubieten.
Hier zunächst ein Beispiel für eine ComboBox, welche die Fontnamen aufnehmen soll im XAML-Code:
...
<Grid>
<StackPanel>
...
<ComboBox Name="cbFonts" Margin="4 0 4 0" Text="Art"
FontFamily="JetBrains Mono" Width="150"
HorizontalAlignment="Left" />
...
</StackPanel>
</Grid>
...
Anschließend gilt es im Code-behind (hier: MainWindow.xaml.vb) die Namen der im System vorhandenen Schriftarten in die vorbereitete Combobox einzulesen. Das macht man am besten gleich im Eventhandler MainWindow_Loaded:
...
Dim FontFamilies As Object = Fonts.SystemFontFamilies
...
Private Sub MainWindow_Loaded(...) Handles Me.Loaded
...
For Each f In FontFamilies
cbFonts.Items.Add(f.ToString)
Next
...
End Sub
Mehr über die Klasse Fonts aus dem Namensraum System.Windows.Media erfahren Sie in Microsofts Dokumentation auf dieser Seite.