12

Nell'anteprima del consumatore di windows 8 è possibile personalizzare la propria esperienza, inclusa l'impostazione di un "colore di sfondo" che viene utilizzato anche come sfondo per piastrelle selezionate, barra delle applicazioni, ecc. gli accenti arancioni sono visibili nell'interfaccia utente di Windows 8 Metro.Colore tema Windows 8: accesso a livello di programmazione

Attualmente sto creando alcuni controlli personalizzati e mi piacerebbe avere accesso a questo colore nel mio stile, così come l'utente cambia colore così i miei accenti alle applicazioni vengono ridipinti di conseguenza.

Non riesco a trovare un modo per ottenere questo colore nel mio XAML. Sembra ragionevole aspettarsi che ci sia un pennello dinamico a livello di sistema o una risorsa di colore a cui si possa fare riferimento.

Qualcuno ha qualche idea?

risposta

7

Basato su this thread (Start Screen background as my metro apps background) su MSDN - questo non è disponibile.

Nel caso in cui il filo MSDN scompare, il sito è temporaneamente non disponibile, o Microsoft sposta la struttura delle directory in giro e lascia orfani i collegamenti in tutto il luogo: La risposta rilevanti lì, da Microsoft dipendente Rob Kaplan, ha detto:

Le app in stile Metro non possono interrogare il colore di sfondo della schermata iniziale.

Quindi può essere interpretata come una risposta ufficiale che questa funzionalità non è disponibile.

+1

+1. Sfortunato, dato WP7 ti permette di ottenere il colore dell'accento degli utenti. – Alan

+1

Penso che per la maggior parte delle applicazioni è probabilmente meglio definire temi indipendentemente dal sistema operativo. È più facile per una volta - non devi preoccuparti della tua progettazione di app che supporta più temi che implica la verifica di quale sia il tema e la fornitura di risorse che corrispondono a ciascuno di questi temi. Immagina di dover fornire icone o sfondi che si adattino bene a tutti i possibili temi e forse temi futuri che non sono ancora disponibili per i test. Inoltre, probabilmente è meglio per il branding della tua applicazione. Allora forse Microsoft non vuole che la gente pensi che la tua app sia parte del sistema operativo ... –

+0

E ancora non [disponibile in Windows 8.1 "Scusa, non è un colore accessibile dai framework UI.", Per Tim Heuer, Program Manager , Piattaforme UI] (http://social.msdn.microsoft.com/Forums/en-US/9a200123-45cd-4f14-8ab7-f997e0534495/using-windows-accent-color?forum=w81prevwCsharp) –

5

Alan,

Mentre sono d'accordo con te che il concetto di "branding" fa buon senso se si prevede di sovrapposizioni grafiche complesse, ottenendo il colore del tema di base come è disponibile sul Windows Phone usando un tema statico il pennello fornito dal sistema operativo è una scelta migliore per i temi dei colori di base nella tua app. L'utente ha scelto quel colore perché lo trova piacevole alla vista. Ancora più importante, alcuni utenti possono essere daltonici a uno o più colori e hanno scelto l'opzione migliore per migliorare la leggibilità e l'accessibilità.

Avere accesso alla combinazione di colori standard consente di rimanere all'interno del tema chiaro/scuro e soddisfare gli standard di accessibilità richiesti da molte aziende per tutti i programmi per coloro che sono ipovedenti.

L'SDK è nella sua infanzia ed è possibile che questa importante funzionalità sia stata esclusa dall'attuale implementazione perché non era pronta per il rilascio dell'SDK (i colori potrebbero non essere stati finalizzati o la compatibilità del tema su alcuni dispositivi erano ancora in fase di sviluppo).

Non è troppo difficile ricavare il colore del tema da un pennello a tema esistente che viene fornito come ProgressBarForegroundThemeBrush aggiungendo/sottraendo valori per ottenere il colore del tema corrente.

Il mio suggerimento sarebbe quello di aderire agli stili del tema nel miglior modo possibile per garantire che l'applicazione rimarrà corrente indipendentemente dalle modifiche al sistema operativo.

Sono stato un programmatore di Windows Phone dal maggio 2010.

2

Ci sono alcune API non documentate in uxtheme.dll che recuperano i colori del tema. Se si utilizzano queste funzioni e si invia l'app a Windows Store, la certificazione fallirà e, in generale, è una cattiva idea affidarsi comunque a funzioni non documentate.Ancora, per chi è interessato a ottenere questi valori, I wrote about the process.

+0

Inoltre, ho creato una [tabella di riferimento] (http://www.quppa.net/win8col/) dei colori dei temi trovati in Windows 8. – Quppa

Problemi correlati