2009-12-29 8 views
8

Ok ecco una domanda per WPF per principianti di softball.WPF, puoi ottenere i colori di default di Windows?

Per impostazione predefinita lo sfondo della finestra è bianco. Sto cercando di hackerare un modulo di segnalazione degli errori e voglio emulare l'aspetto e le finestre standard di Windows.

Un modo semplice per prendere il colore predefinito per lo sfondo?

risposta

20

Utilizzo della classe SystemColors e in particolare della proprietà WindowColor. Quando si utilizza xaml è preferibile utilizzare DynamicResources e quindi utilizzare le proprietà chiave. In questo modo la tua applicazione cambia al volo quando l'utente cambia il colore in Windows.

<Window> 
    <Window.Background> 
    <SolidColorBrush Color="{DynamicResource {x:Static SystemColors.WindowColorKey}}"> 
    </SolidColorBrush> 
    </Window.Background> 
</Window> 

Utilizzando la ... BrushKey proprietà lo rende più facile da usare quando si ha bisogno di una spazzola

<Window Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"> 
</Window> 

PS: WPF Windows dovrebbe già avere il colore corretto per default

+0

eh mie finestre sono bianchi, non vedo nulla nel mio xaml che imposta il colore. –

+0

Capito, è il fatto che lo sfondo di un'app Winform è impostato in modo predefinito sul colore di controllo. Comunque ho capito, grazie mille. : D –

+0

Sì, questo è quello che ho detto nel mio PS. Ma tu l'hai chiesto. :) Il bianco è il colore corretto di uno sfondo di finestra nel tema. Non è possibile ottenere più standard quindi standard. –

Problemi correlati