Compartir vía


Cómo: Utilizar SystemFonts

En este ejemplo se muestra cómo usar los recursos estáticos de la clase SystemFonts para aplicar estilo a un botón o personalizarlo.

Ejemplo

Los recursos del sistema exponen varios valores determinados en el sistema como recursos y propiedades para ayudarle a crear objetos visuales coherentes con la configuración del sistema. SystemFonts es una clase que contiene valores de fuentes del sistema como propiedades estáticas y propiedades que hacen referencia a las claves de recursos que se pueden usar para acceder a estos valores de forma dinámica en tiempo de ejecución. Por ejemplo, CaptionFontFamily es un valor de SystemFonts y CaptionFontFamilyKey es una clave de recurso correspondiente.

En XML se pueden usar los miembros de SystemFonts como propiedades estáticas o como referencias de recursos dinámicos (con el valor de propiedad estática como clave). Use una referencia de recursos dinámicos si quiere que la métrica de fuente se actualice automáticamente mientras se ejecuta la aplicación. De lo contrario, use una referencia de valor estático.

Nota:

Las claves de recurso tienen el sufijo "Key" anexado al nombre de la propiedad.

En el siguiente ejemplo se muestra cómo acceder a las propiedades de SystemFonts y usarlas como valores estáticos para aplicar estilo a un botón o personalizarlo. En este ejemplo de marcado se asignan valores de SystemFonts a un botón.

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

Para usar los valores de SystemFonts en el código, no es necesario usar ningún valor estático ni ninguna referencia de recursos dinámicos. En su lugar, use las propiedades que no sean de clave de la clase SystemFonts. Aunque las propiedades que no son de clave aparentemente se definen como propiedades estáticas, el comportamiento en tiempo de ejecución de WPF cuando está hospedado en el sistema volverá a evaluar las propiedades en tiempo real y representará correctamente los cambios realizados por el usuario en los valores del sistema. En el ejemplo siguiente se muestra cómo especificar la configuración de fuente de un botón.

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)

Vea también