Tengo una serie de UserControls que finalmente realizan la renderización a través de FrameworkElement :: OnRender (). Dibujo barras de pulgar personalizadas, elementos resaltables, botones y me gustaría que mis controles respondan al tema activo. Utilizo MahApps.Metro y me pregunto cómo puedo extraer los colores actuales para ciertas funciones del tema activo.

No uso estilos de ningún tipo en este momento, ya que acabo de juntar los controles usando pinceles y bolígrafos explícitos, pero reconozco la necesidad de moverme en esa dirección.

¿Cómo organizo mis bolígrafos y pinceles para responder al tema actual?

0
Steven 20 oct. 2020 a las 05:16

1 respuesta

La mejor respuesta

El código fuente de mahapps metro para colores y pinceles de temas está disponible aquí:

https://github.com/MahApps/MahApps.Metro/blob/develop/src/MahApps.Metro/Styles/Themes/Theme.Template.xaml

Entonces, la respuesta corta es que debe usar la notación DynamicResource para pinceles y colores y probar las teclas allí:

P.ej

<Rectangle  Fill={DynamicResource MahApps.Brushes.Button.Flat.Background}"

Aconsejaría un poco de experimentación para comprobar que los pinceles y los colores se establezcan definitivamente en los temas que pretendes usar y tu interfaz de usuario funciona con ellos.

1
Andy 20 oct. 2020 a las 08:46