Поделиться через


Практическое руководство. Использование SystemFonts

В этом примере показан способ использования статических ресурсов классаSystemFonts для изменения стиля или настроек кнопки.

Пример

Системные ресурсы предоставляют несколько значений, определяемых системой, в качестве ресурсов и свойств, помогающих создавать визуализацию, согласованную с параметрами системы. SystemFonts является классом, содержащим значения системного шрифта в виде статических свойств и свойства со ссылками на ключи ресурсов, которые можно использовать для доступа к этим значениями динамически во время выполнения. Например, CaptionFontFamily является значением SystemFonts, а CaptionFontFamilyKey является ключом соответствующего ресурса.

В XAML можно использовать члены SystemFonts как статические свойства или ссылки динамического ресурса (со статическим значением свойства в качестве ключа). Используйте динамическую ссылку на ресурс, если метрика шрифта должна автоматически обновляться во время выполнения приложения; в противном случае используйте ссылку на статическое значение.

ПримечаниеПримечание

К именам свойств, используемых в качестве ключей ресурсов, добавляется суффикс «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, размещенного системой, будет пересчитывать свойства в режиме реального времени и правильно учитывать управляемые пользователем изменения значений системы. Следующий пример показывает, как задать параметры шрифта кнопки.

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);

См. также

Задачи

Практическое руководство. Закраска области с помощью системной кисти

Как использовать SystemParameters

Как использовать разделы системных шрифтов

Ссылки

SystemFonts

Расширение разметки x:Static

Расширение разметки DynamicResource

Основные понятия

Общие сведения о ресурсах

Другие ресурсы

Разделы руководства, посвященные ресурсам