2013-02-04 15 views
12

Ho 2 Label s in un StackPanel e impostare un colore Foreground ad entrambi ... La seconda mostra, come il nero, quando non dovrebbe.WPF Label colore di primo piano

<StackPanel HorizontalAlignment="Right" Orientation="Horizontal" Grid.Column="4" Grid.Row="0" Width="Auto" Margin="0,0,20,0"> 
    <Label Content="{lex:LocText CGI, Suffix=:}" Foreground="#FFE0E0E0" FontSize="24" VerticalAlignment="Bottom" Margin="0,0,0,10" HorizontalAlignment="Right" /> 
    <Label Content="{Binding Cgi}" ContentStringFormat="{}{0}%" Foreground="#FFE0E0E0" FontSize="24" VerticalAlignment="Bottom" Margin="0,0,0,10" HorizontalAlignment="Right" /> 
</StackPanel> 

C'è qualcosa che sto facendo male?

risposta

13

Ho controllato il tuo XAML, funziona correttamente - ad es. entrambe le etichette hanno un primo piano grigio.
La mia ipotesi è che hai uno stile che sta influenzando il suo aspetto ...

Prova a spostare il tuo XAML in una finestra nuova di zecca e guarda tu stesso ... Quindi, controlla se hai qualche tema o stili (nel caso Window.Resources) che potrebbero influire sulle etichette ...

+1

La tua ipotesi era giusta. Ho notato questo comportamento da quando abbiamo aggiunto gli stili Metro. Non ci ho pensato. – JuHwon

+12

Proprio perché ho cercato come cambiare il colore di un'etichetta e mi ha portato qui, vorrei aggiungere che se vuoi semplicemente cambiare il colore di un'etichetta nel tuo file di codice, questo dovrebbe fare: 'lblStatus.Foreground = nuovo SolidColorBrush (Colors.Red); ' – Ortund

+4

o con un po 'meno codice,' lblStatus.Foreground = Brushes.Red; ' –