这必须如此简单但我不能这样做:如果我在一个容器中放置一个文本块并使容器的不透明度< 1,文本继承了不透明度,无论我是否尝试在文本块中覆盖它。如何在半透明容器中保持文本100%不透明度?
<Grid x:Name="LayoutRoot">
<Border Background="red" Opacity="0.5">
<TextBlock Text="TextBlok" Opacity="1"/>
</Border>
</Grid>
答案 0 :(得分:14)
这会起作用吗?
<Border Background="#80FF0000">
<TextBlock Text="TextBlok"/>
</Border>
将背景设置为透明,而不是整个Border元素......
答案 1 :(得分:3)
只需使用颜色值代替不透明度即可使其透明化。
Color属性可以由4个参数构成:
所有这些都是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>