Buscar..


Sintaxis

  • C #: Application.Current.Resources ["yourColorKey"]
  • Xaml: {ThemeResource yourColorKey}

Parámetros

Parámetro Propósito
yourColorKey Una clave que le das para recuperar un objeto de Color . Difiere entre C # y Xaml

Observaciones

UWP le permite tomar el control total de las ventajas de Windows 10. Algunas de estas ventajas son gráficas, como el color Accent o los temas Dark / Light.

Para preparar su aplicación para que sea compatible con estas funciones, se han implementado un montón de colores prefabricados en UWP para cambiar con el color de acento del sistema operativo en el que se ejecuta el programa, o con la opción de tema del usuario.

Hay dos "maneras" de hacer esto:

  • Directamente en Xaml, usando el atributo Color = {ThemeResource x} (o cualquier atributo que tome un Brush como valor, como BorderBrush, Background, etc.)

  • En C # Code Behind, buscando el color en el directorio de recursos de la aplicación actual. Esto le da un objeto Color , por lo que si desea ponerlo en la propiedad Color de un objeto al que hace referencia desde su Xaml, deberá hacer un nuevo pincel como este:

new SolidColorBrush(Application.Current.Resources["yourColorKey"])

Para obtener una referencia de las claves de color en c #, consulte:

https://msdn.microsoft.com/windows/uwp/controls-and-patterns/xaml-theme-resources

Acceso a Recursos Temáticos en Xaml

Fragmento de código de MyExampleFile.xaml

<TextBlock Foreground="{ThemeResource SystemControlBackgroundAccentBrush}"
         Text="This is a colored textbox that use the Accent color of your Windows 10"/>

<TextBlock Foreground="{ThemeResource SystemControlBackgroundBaseHighBrush}"
         Text="This is a colored textbox that use a color that is readable in both Light and Dark theme"/>

Acceso a recursos temáticos en C #

Fragmento de código de MyExampleFile.xaml

<TextBlock x:Name="MyTextBlock"
         Text="This is a TextBlock colored from the code behind"/>

Fragmento de código de MyExampleFile.xaml.cs

    // We use the application's Resource dictionary to get the current Accent of your Windows 10
    MyTextBlock.Color = new SolidColorBrush(Application.Current.Resources["SystemAccentColor"]);


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow