8

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

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

3 回答 3

14

这会奏效吗?

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

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

于 2009-04-17T13:57:37.640 回答
3

只需使用颜色值而不是不透明度即可使其透明。

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

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

它们的范围都是 0-255

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

这种颜色可以在任何颜色刷中使用。

所以 else 已经有一个示例如何在我刚刚看到的代码中实现它。

于 2009-04-17T14:00:29.410 回答
0
<Grid>
    <Grid.Background>
        <SolidColorBrush Color="Red" Opacity="0.5"></SolidColorBrush>
    </Grid.Background>

    <TextBlock Text="Hallo there"></TextBlock>
</Grid>    
于 2015-08-22T14:40:56.937 回答