Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在WPF中设置标签的背景色?_C#_Wpf_Colors_Background_Label - Fatal编程技术网

C# 如何在WPF中设置标签的背景色?

C# 如何在WPF中设置标签的背景色?,c#,wpf,colors,background,label,C#,Wpf,Colors,Background,Label,我有一个标签,但设置背景属性似乎没有任何作用: <Label Content="{Binding Name, Source={StaticResource LocStrings}}" HorizontalAlignment="Left" Margin="4" Name="label2" Background="Blue" VerticalAlignment="Top"/> 这不会显示蓝色背景(当属性背景被识别时) 另外,当使用

我有一个标签,但设置背景属性似乎没有任何作用:

    <Label Content="{Binding Name, Source={StaticResource LocStrings}}"
          HorizontalAlignment="Left" Margin="4" Name="label2"  Background="Blue" 
          VerticalAlignment="Top"/>

这不会显示蓝色背景(当属性背景被识别时)

另外,当使用Label.Background“way”时,我看不到蓝色背景

<Label Content="{Binding Name, Source={StaticResource LocStrings}}"
      HorizontalAlignment="Stretch" Margin="4" Name="label2"  Background="Blue" 
      VerticalAlignment="Top"/>
更新:

我使用了以下最低限度的代码:

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

我看到的是绿色的tekst,但没有任何橙色背景。


<Label Content="{Binding Name, Source={StaticResource LocStrings}}"
      HorizontalAlignment="Stretch" Margin="4" Name="label2"  Background="Blue" 
      VerticalAlignment="Top"/>
您是否尝试在内容中输入一些文本并检查了绑定输出,可能您的绑定有问题。因为它在这里工作正常。 请注意,我设置了HorizontalAlignment=“Stretch”而不是左键,这将使标签使用所有水平可用空间。如果您没有绑定任何内容,则在上述情况下,您的标签将不可见,您可以将其与输出结合使用,以找出其他人(如Sriram Sakthivel和PoweredByOrange)所述的绑定可能存在的问题。如需帮助我们需要更多的信息:)

希望有帮助

干杯

斯蒂安


您是否尝试在内容中输入一些文本并检查了绑定输出,可能是绑定有问题。因为它在这里很好用。 请注意,我设置了HorizontalAlignment=“Stretch”而不是left,这将使标签使用所有水平可用空间。如果您没有绑定任何内容,则在上述情况下,您的标签将不可见,您可以将其与输出结合使用,以找出其他人(如Sriram Sakthivel和PoweredByOrange)所述的绑定可能存在的问题。为了帮助您做到这一点,我们需要更多的信息:)

希望有帮助

干杯


Stian

因为您要绑定到字符串值,所以使用
文本块
而不是
标签
在这里是值得的。此场景中可能不需要标签的内容模型

这里有一个例子

<TextBlock Text="{Binding Name, Source={StaticResource LocStrings}}"
           HorizontalAlignment="Left" Margin="4" Name="label2"  Background="Blue" 
           VerticalAlignment="Top"/>

在文本块而不是标签中显示文本的一些其他好处

与标签不同,Textblock直接从FrameworkElement派生,而不是从控件派生,因此它是轻量级的

标签遵循内容模型,因此外观可能会受到内容及其类型和/或为其定义的任何样式或模板的影响


更多信息,请阅读此处

,因为您要绑定到字符串值,因此在此处使用
文本块
而不是
标签
是值得的。此场景中可能不需要标签的内容模型

这里有一个例子

<TextBlock Text="{Binding Name, Source={StaticResource LocStrings}}"
           HorizontalAlignment="Left" Margin="4" Name="label2"  Background="Blue" 
           VerticalAlignment="Top"/>

在文本块而不是标签中显示文本的一些其他好处

与标签不同,Textblock直接从FrameworkElement派生,而不是从控件派生,因此它是轻量级的

标签遵循内容模型,因此外观可能会受到内容及其类型和/或为其定义的任何样式或模板的影响



请阅读此处了解更多信息。应该这样。在输出窗口中是否看到任何绑定错误?这不重要,但值得检查。@PoweredByOrange不,我没有发现绑定错误。我在其周围放置了一个带有背景色的StackPanel,它似乎工作得很好。只是通过移除绑定进行了测试,它工作得很好。您需要发布复制问题的示例程序。@MichelKeijzers您不需要使用
StackPanel
来设置背景。标签是否漂浮在其他元素的顶部?相邻控件是如何排列的?奇怪。应该这样。在输出窗口中是否看到任何绑定错误?这不重要,但值得检查。@PoweredByOrange不,我没有发现绑定错误。我在其周围放置了一个带有背景色的StackPanel,它似乎工作得很好。只是通过移除绑定进行了测试,它工作得很好。您需要发布复制问题的示例程序。@MichelKeijzers您不需要使用
StackPanel
来设置背景。标签是否漂浮在其他元素的顶部?相邻控件是如何排列的?我编辑了我的示例,但似乎仍然不起作用。水平对齐添加也没有任何区别。@MichelKeijzers在这里水平拉伸很好,默认字体大小。如果出于某种原因希望它覆盖整个屏幕,也可以添加VerticalAlignment=“Stretch”。H..ContentAlignment和V..ContentAlignment说明内容(文本)在label控件中的行为。Label控件比上面建议的TextBlock有更多的功能,我必须承认,我自己主要使用TextBlock。我的意思是水平/垂直对齐工作正常,但背景颜色没有任何不同。但我(已经)投票给你的答案+1,因为它可能对其他人有用。@MichelKeijzers抱歉,我真的不知道,它在这里起作用。奇怪,没问题。。。另一个解决方案奏效了。。。谢谢你的回答和思考。我编辑了我的示例,但似乎仍然不起作用。水平对齐添加也没有任何区别。@MichelKeijzers在这里水平拉伸很好,默认字体大小。如果出于某种原因希望它覆盖整个屏幕,也可以添加VerticalAlignment=“Stretch”。H..ContentAlignment和V..ContentAlignment说明内容(文本)在label控件中的行为。Label控件比上面建议的TextBlock有更多的功能,我必须承认,我自己主要使用TextBlock。我的意思是水平/垂直对齐工作正常,但背景颜色没有任何不同。但我(已经)投票给你的答案+1,因为它可能对其他人有用。@MichelKeijzers抱歉,我真的不知道,它在这里起作用。奇怪,一点问题都没有