Gewusst wie: Verwenden von SystemFonts
In diesem Beispiel wird die Verwendung der statischen Ressourcen der SystemFonts-Klasse zum Formatieren oder Anpassen einer Schaltfläche veranschaulicht.
Beispiel
Systemressourcen machen mehrere vom System festgelegte Werte als Ressourcen und Eigenschaften verfügbar, damit Sie visuelle Objekte erstellen können, die den Systemeinstellungen entsprechen. SystemFonts ist eine Klasse, die sowohl Systemschriftartwerte als statische Eigenschaften als auch Eigenschaften enthält, die auf Ressourcenschlüssel verweisen. Diese Ressourcenschlüssel können zur Laufzeit für den dynamischen Zugriff auf diese Werte verwendet werden. Beispielsweise ist CaptionFontFamily ein SystemFonts-Wert und CaptionFontFamilyKey ein entsprechender Ressourcenschlüssel.
In XAML können Sie die Member von SystemFonts entweder als statische Eigenschaften oder als dynamische Ressourcenverweise verwenden (wobei der statische Eigenschaftswert als Schlüssel dient). Verwenden Sie einen dynamischen Ressourcenverweis, wenn die Schriftartmetrik beim Ausführen der Anwendung automatisch aktualisiert werden soll. Verwenden Sie andernfalls einen statischen Wertverweis.
Hinweis |
---|
Bei Ressourcenschlüsseln wird das Suffix "Key" an den Eigenschaftennamen gehängt. |
Das folgende Beispiel veranschaulicht den Zugriff auf und die Verwendung der Eigenschaften von SystemFonts als statische Werte zum Formatieren oder Anpassen einer Schaltfläche. 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 verwenden zu können, ist es nicht erforderlich, einen statischen Wert oder dynamischen Ressourcenverweis zu verwenden. Verwenden Sie stattdessen die Nicht-Schlüsseleigenschaften der SystemFonts-Klasse. Obwohl die Nicht-Schlüsseleigenschaften anscheinend als statische Eigenschaften definiert sind, gilt für das Laufzeitverhalten des vom System gehosteten WPF, dass die Eigenschaften in Echtzeit neu ausgewertet und vom Benutzer ausgelöste Änderungen an Systemwerten entsprechend berücksichtigt werden. Das folgende Beispiel veranschaulicht, wie die Schriftarteinstellungen einer Schaltfläche angegeben werden.
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)
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);
Siehe auch
Aufgaben
Gewusst wie: Zeichnen eines Bereichs mit einem Systempinsel
Gewusst wie: Verwenden von SystemParameters
Gewusst wie: Verwenden von Systemschriftartschlüsseln
Referenz
DynamicResource-Markuperweiterung