如何在WPF中设置标签的背景颜色
本文关键字:标签 背景 颜色 设置 WPF | 更新日期: 2023-09-27 18:17:06
我有一个标签,但设置背景属性似乎没有做任何事情:
<Label Content="{Binding Name, Source={StaticResource LocStrings}}"
HorizontalAlignment="Left" Margin="4" Name="label2" Background="Blue"
VerticalAlignment="Top"/>
这不会显示蓝色背景(当属性background被识别时)。
在使用Label时也是如此。背景'way'我没有看到蓝色的背景。
更新:我使用了下面的极简代码:
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Title="TEST" SizeToContent="WidthAndHeight">
<Grid>
<Label Content="TEXT TO TEST" Foreground="Green" Background="Orange"/>
</Grid>
</Window>
我看到的是绿色的测试,但没有任何橙色背景
<Label Content="{Binding Name, Source={StaticResource LocStrings}}"
HorizontalAlignment="Stretch" Margin="4" Name="label2" Background="Blue"
VerticalAlignment="Top"/>
您是否尝试在内容中输入一些文本并检查绑定输出,也许您的绑定有问题。因为它在这里工作得很好。注意,我设置了 horizontalalign ="Stretch"而不是left,这将使标签使用所有的水平可用空间。如果您没有绑定任何东西,那么您的标签在上面的情况下将是不可见的,您可以将其与输出结合使用,以找出其他人(如Sriram Sakthivel和PoweredByOrange)所述的绑定可能存在的问题。为了帮助你,我们需要更多的信息:)
希望有帮助,
欢呼,
Stian
由于您绑定到字符串值,因此使用TextBlock
而不是Label
在这里是值得的。在此场景中可能不需要Label的内容模型。
这里有一个例子
<TextBlock Text="{Binding Name, Source={StaticResource LocStrings}}"
HorizontalAlignment="Left" Margin="4" Name="label2" Background="Blue"
VerticalAlignment="Top"/>
在TextBlock中显示文本而不是在Label中显示文本的其他好处
与Label不同的是,Textblock直接从FrameworkElement派生,而不是从Control派生,因此它是轻量级的。
标签遵循内容模型,因此外观可能会受到内容及其类型和/或为其定义的任何样式或模板的影响。
阅读这里了解更多Label和TextBlock的区别