uwp
Recursos temáticos
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 unBrush
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 propiedadColor
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"]);