Практическое руководство. Использование SystemParameters
В этом примере показано, как получить доступ и использовать свойства SystemParameters для изменения стиля или настроек кнопки.
Пример
Системные ресурсы предоставляют несколько параметров системы в виде ресурсов, помогающих создавать визуальные элементы с учетом параметров системы. SystemParameters — Это класс, содержащий как свойства значений параметров системы, так и ключи ресурсов, которые привязаны к значениям. Например FullPrimaryScreenHeight — SystemParameters значение свойства и FullPrimaryScreenHeightKey является соответствующим ключом ресурса.
В XAML, можно использовать члены SystemParameters как статическое свойство или ссылки на динамические ресурсы (со статическим значением свойства в качестве ключа). Используйте ссылку на динамический ресурс, если требуется системное значение для автоматического обновления во время выполнения приложения. В противном случае используйте статическую ссылку. Ключи ресурсов имеют суффикс Key
добавляется к имени свойства.
В следующем примере показано, как получить доступ и использовать статические значения объекта SystemParameters для создания стиля или настроек кнопки. Этот пример разметки изменяет размер кнопки, применяя SystemParameters значения к кнопке.
<Button FontSize="8" Margin="10, 10, 5, 5" Grid.Column="0" Grid.Row="5"
HorizontalAlignment="Left"
Height="{x:Static SystemParameters.CaptionHeight}"
Width="{x:Static SystemParameters.IconGridWidth}">
SystemParameters
</Button>
Чтобы использовать значения из SystemParameters в коде, не нужно использовать статические или динамические ссылки на ресурсы. Вместо этого используйте значения SystemParameters класса. Хотя неключевые свойства очевидно определены как статические, поведение среды выполнения WPF , размещенного системой будут пересчитываться свойства в режиме реального времени, и правильно учитываться вносимые пользователем изменения значений системы. В следующем примере показано, как задать ширину и высоту кнопки с помощью SystemParameters значения.
Button btncsharp = new Button();
btncsharp.Content = "SystemParameters";
btncsharp.FontSize = 8;
btncsharp.Background = SystemColors.ControlDarkDarkBrush;
btncsharp.Height = SystemParameters.CaptionHeight;
btncsharp.Width = SystemParameters.IconGridWidth;
cv2.Children.Add(btncsharp);