WPF标签前景色

31

我在一个StackPanel中有2个Label,并为它们都设置了Foreground颜色,但第二个标签显示为黑色,这应该不是我想要的结果。

<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>

我做错了什么吗?

2个回答

29

我检查了你的XAML,它工作正常-例如两个标签都有灰色前景。
我的猜测是你有一些样式影响了它的外观...

尝试将你的XAML移动到一个全新的窗口中并自己查看... 然后检查是否有任何主题或样式(例如在Window.Resources中)可能会影响标签...


1
你的猜测是正确的。自从我们添加了Metro风格,我就注意到了这种行为。没想到会出现这种情况。 - JuHwon
22
因为我搜索了如何更改标签的颜色,它就把我带到这里来了。我想补充一下,如果你只想在代码文件中更改标签的颜色,可以使用以下代码: lblStatus.Foreground = new SolidColorBrush(Colors.Red);。请注意,此代码将标签前景颜色更改为红色。 - Ortund
14
或者用更少的代码,lblStatus.Foreground = Brushes.Red; - dodgy_coder

7
“WPF标签前景色”这个标题非常简单(正是我苦苦寻找的),但是原帖的代码过于混乱,很容易忽略在两个不同标签上设置文本前景色可以多么简单。请保留HTML标记。
<StackPanel>
    <Label Foreground="Red">Red text</Label>
    <Label Foreground="Blue">Blue text</Label>
</StackPanel>

总结一下,不,您的代码片段没有任何问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接