半透明背景上的文本

8

这个问题很简单,但我做不到:如果我把一个文本块放在一个容器中,并将容器的透明度设置为<1,无论我是否尝试在文本块中覆盖它,文本都会继承该透明度。如何在半透明容器中保持文本100%不透明?

<Grid x:Name="LayoutRoot">
    <Border Background="red" Opacity="0.5">
        <TextBlock Text="TextBlok" Opacity="1"/>
    </Border>
</Grid>

只需使用颜色值而不是不透明度来使其透明。 - Peter
3个回答

14

这个行得通吗?

<Border Background="#80FF0000">
    <TextBlock Text="TextBlok"/>
</Border>

将背景设置为透明,而不是整个Border元素...


3

使用颜色值而不是不透明度来使其透明。

颜色属性可以由4个参数组成:

  1. 透明度
  2. 红色
  3. 绿色
  4. 蓝色

所有这些参数的范围都是0-255。

半透明的蓝色为:(128,0,0,255) 在XAML(十六进制)中翻译为:#800000FF

您可以在任何colorbrush中使用此颜色。

所以,如果有人已经有一个实现代码的示例,我只是看到了。


谢谢。我想这和Arjan上面的回答一样,但他先回答了,所以他得到了勾选标记。 :-) - Graeme

0
<Grid>
    <Grid.Background>
        <SolidColorBrush Color="Red" Opacity="0.5"></SolidColorBrush>
    </Grid.Background>

    <TextBlock Text="Hallo there"></TextBlock>
</Grid>    

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