Практическое руководство. Использование SystemFonts
В этом примере показано, как использовать статические ресурсы SystemFonts класс для изменения стиля или настроек кнопки.
Пример
Системные ресурсы предоставляют несколько значений, определяемых системой, в качестве ресурсов и свойств, помогающих создавать визуальные элементы, согласованные с параметрами системы. SystemFonts — Это класс, содержащий значения системного шрифта в виде статических свойств и свойства со ссылками на ключи ресурсов, которые могут использоваться для доступа к этим значениям динамически во время выполнения. Например CaptionFontFamily — SystemFonts значение, и CaptionFontFamilyKey является ключом соответствующего ресурса.
В XAML, можно использовать члены SystemFonts как статические свойства или ссылки на динамические ресурсы (со статическим значением свойства в качестве ключа). Используйте ссылку на динамический ресурс, если метрика шрифта должна автоматически обновляться во время выполнения приложения. В противном случае используйте ссылку на статическое значение.
Note
К именам свойств, используемых в качестве ключей ресурсов, добавляется суффикс Key.
Приведенный ниже показано, как получить доступ и использовать свойства SystemFonts как статических значений для изменения стиля или настроек кнопки. Этот пример разметки присваивает SystemFonts значения к кнопке.
<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>
Чтобы использовать значения из SystemFonts в коде, не нужно использовать статическое значение или ссылку на динамический ресурс. Вместо этого использовать неключевые свойства SystemFonts класса. Хотя неключевые свойства очевидно определены как статические, поведение времени выполнения WPF , размещенного по системе будут пересчитываться свойства в режиме реального времени и правильно учитываться вносимые пользователем изменения значений системы. В приведенном ниже примере показано, как задать параметры шрифта кнопки.
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);