2009-04-17 129 views
8

这一定很简单,但我做不到:如果我在容器中放置文本块并使容器的不透明度为< 1,则文本会继承该不透明度,无论我尝试在文本块中覆盖它。如何在半透明容器中保持文字100%不透明?半透明背景上的文字

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

只需使用颜色值代替透明度即可使其透明。 – Peter 2009-04-17 13:58:34

回答

14

这会做诡计吗?

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

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

3

在代替只需使用不透明的颜色值,使其TRANSPARANT。

的颜色属性可以形成出的4个参数之中:

  1. Transparancy
  2. 绿色

所有这些范围从0-255

半透明蓝色将是:(128,0,0,255) 翻译成XAML(十六进制):#800000FF

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

所以,其他人已经有一个例子,如何在你的代码中实现它,我只是看到了。

+0

谢谢。我想这与上面的Arjan是一样的答案,但他是第一个得到的答案。 :-) – Graeme 2009-04-17 14:06:12

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

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