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.
(Quelle: dotnetpro)
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.


Das könnte Sie auch interessieren