[wp7] Decoro Urbano: cambiare l’immagine di sfondo seguendo il tema (chiaro o scuro)

Tra le preferenze impostabili in un Windows Phone ci sono i temi, ovvero le possibili combinazioni di colore principale e di sfondo (chiaro o scuro). Gli stili di testo definiti in Windows Phone sono impostati in modo tale da adattare il colore del testo a contrasto del colore di sfondo impostato nel tema.

Se le nostre pagine (semplici, pivot o panorama) prevedono l’uso di un’immagine di sfondo, è essenziale che quest’ultima si conformi al tema chiaro o scuro impostato dall’utente:

Shot1  Shot2

In generale, il primo problema che si incontra è quello di sapere, dall’interno della nostra applicazione, qual è il tipo di tema in uso. Per tale motivo, come prima cosa creiamo un metodo che ritorni tale informazione.

Io l’ho messo nella mia classe Utils, una classe statica che contiene metodi d’utilità, una sorta di coltellino svizzero:

image

In questo modo, nel ViewModel posso usare una proprietà di tipo stringa che mi ritorna, a secondo del tema in uso, il path del file immagine corrispondente:

image

Purtroppo non è possibile utilizzare direttamente questa stringa nella proprietà Background della grid di layout della pagina, in quanto tale proprietà è di tipo Brush ed usando il data binding si perde la conversione implicita da stringa a ImageBrush. L’unico modo è quello di utilizzare un converter scritto da noi:

image

A questo punto possiamo scrivere sulla view:

image

Happy coding!

posted @ domenica 8 aprile 2012 06:26

Print
Comments have been closed on this topic.
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011