在半透明背景的文本

时间:2009-04-17 13:50:26

标签: xaml transparency

这必须如此简单但我不能这样做:如果我在一个容器中放置一个文本块并使容器的不透明度< 1,文本继承了不透明度,无论我是否尝试在文本块中覆盖它。如何在半透明容器中保持文本100%不透明度?

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

3 个答案:

答案 0 :(得分:14)

这会起作用吗?

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

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

答案 1 :(得分:3)

只需使用颜色值代替不透明度即可使其透明化。

Color属性可以由4个参数构成:

  1. Transparancy
  2. 红色
  3. 绿色
  4. 蓝色
  5. 所有这些都是0-255

    半透明的蓝色将是:(128,0,0,255) 转换为XAML(十六进制):#800000FF

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

    所以else已经有了一个例子,如何在你看到的代码中实现它。

答案 2 :(得分:0)

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

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