Freigeben über


Gewusst wie: Verwenden von SystemFonts

In diesem Beispiel wird gezeigt, wie Sie die statischen Ressourcen der SystemFonts Klasse verwenden, um eine Schaltfläche zu formatieren oder anzupassen.

Beispiel

Systemressourcen stellen mehrere vom System bestimmte Werte als Ressourcen und Eigenschaften zur Verfügung, um visuelle Elemente zu erstellen, die mit Systemeinstellungen konsistent sind. SystemFonts ist eine Klasse, die sowohl Systemschriftartenwerte als statische Eigenschaften als auch Eigenschaften enthält, die auf Ressourcenschlüssel verweisen, die zum dynamischen Zugriff auf diese Werte zur Laufzeit verwendet werden können. Beispielsweise stellt CaptionFontFamily einen SystemFonts Wert dar, und CaptionFontFamilyKey ist der entsprechende Ressourcenschlüssel.

In XAML können Sie die Elemente von SystemFonts entweder als statische Eigenschaften oder dynamische Ressourcenverweise (mit dem statischen Eigenschaftswert als Schlüssel) verwenden. Verwenden Sie einen dynamischen Ressourcenverweis, wenn die Schriftartmetrik während der Ausführung der Anwendung automatisch aktualisiert werden soll. verwenden Sie andernfalls einen statischen Wertverweis.

Anmerkung

Die Ressourcenschlüssel haben das Suffix "Key" an den Eigenschaftennamen angefügt.

Das folgende Beispiel zeigt, wie Sie auf die Eigenschaften von SystemFonts als statische Werte zugreifen und diese verwenden, um eine Schaltfläche zu formatieren oder anzupassen. In diesem Markupbeispiel werden einer Schaltfläche SystemFonts Werte zugewiesen.

<Button Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="3"      
     FontSize="{x:Static SystemFonts.IconFontSize}"
     FontWeight="{x:Static SystemFonts.MessageFontWeight}"
     FontFamily="{x:Static SystemFonts.CaptionFontFamily}">
     SystemFonts
</Button>

Um die Werte von SystemFonts im Code zu verwenden, müssen Sie weder einen statischen Wert noch einen dynamischen Ressourcenverweis verwenden. Verwenden Sie stattdessen die Nichtschlüsseleigenschaften der SystemFonts Klasse. Obwohl die nicht wichtigen Eigenschaften scheinbar als statische Eigenschaften definiert sind, wird das Laufzeitverhalten von WPF, das vom System gehostet wird, die Eigenschaften in Echtzeit neu ausgewertet und die vom Benutzer gesteuerten Änderungen an Systemwerten ordnungsgemäß berücksichtigen. Das folgende Beispiel zeigt, wie die Schriftarteinstellungen einer Schaltfläche festgelegt werden.

Button btncsharp = new Button();
btncsharp.Content = "SystemFonts";
btncsharp.Background = SystemColors.ControlDarkDarkBrush;
btncsharp.FontSize = SystemFonts.IconFontSize;
btncsharp.FontWeight = SystemFonts.MessageFontWeight;
btncsharp.FontFamily = SystemFonts.CaptionFontFamily;
cv1.Children.Add(btncsharp);
Dim btn As New Button()
btn.Content = "SystemFonts"
btn.Background = SystemColors.ControlDarkDarkBrush
btn.FontSize = SystemFonts.IconFontSize
btn.FontWeight = SystemFonts.MessageFontWeight
btn.FontFamily = SystemFonts.CaptionFontFamily
cv1.Children.Add(btn)

Siehe auch