martedì 10 luglio 2012

Metro Style Apps: cambiare il colore di background del ToggleSwitch

Se utilizziamo il controllo ToggleSwitch all'interno delle nostre applicazioni Metro Style, possiamo notare che il suo colore di background è, di default, quello del tema scelto dall'utente:

image

Purtroppo, se vogliamo modificare tale colore per adattarlo alla palette utilizzata nell’applicazione, non abbiamo a disposizione alcuna proprietà.

Un modo per intervenire in tal senso è ridefinire tre SolidColorBrush all’interno delle risorse.

In particolare, è sufficiente ridefinire I seguenti Brush:

  1. <SolidColorBrush x:Key="ToggleSwitchCurtainBackgroundThemeBrush" Color="Red" />
  2. <SolidColorBrush x:Key="ToggleSwitchCurtainPointerOverBackgroundThemeBrush" Color="Green" />
  3. <SolidColorBrush x:Key="ToggleSwitchCurtainPressedBackgroundThemeBrush" Color="Yellow" />

Nel dettaglio:

  • ToggleSwitchCurtainBackgroundThemeBrush : è il brush utilizzato per il background del toggle attivato:

image

  • ToggleSwitchCurtainPointerOverBackgroundThemeBrush : è il brush utilizzato quando l’utente passa sopra il controllo (con il controllo nello stato On) con il mouse;
  • ToggleSwitchCurtainPressedBackgroundThemeBrush : è il brush utilizzato quando l’utente esegue il click con il mouse sul controllo (e questo è nello stato On).

Al limite, per assurdo, potremmo utilizzare anche una ImageBrush per “colorare il nostro ToggleSwitch:

  1. <ImageBrush x:Key="ToggleSwitchCurtainBackgroundThemeBrush" ImageSource="../Assets/ImmagineSfondo.jpg"></ImageBrush>

l’importante è mantenere l’attributo Key.

 

Nessun commento: