Xaml 半透明背景上的文本

Xaml 半透明背景上的文本,xaml,transparency,Xaml,Transparency,这一定很简单,但我做不到:如果我在容器中放置textblock并使容器的不透明度小于1,则无论我是否尝试在textblock中覆盖它,文本都会继承该不透明度。在半透明容器中如何保持文本100%不透明度 <Grid x:Name="LayoutRoot"> <Border Background="red" Opacity="0.5"> <TextBlock Text="TextBlok" Opacity="1"/> </Bo

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

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

这会奏效吗

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


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

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

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

  • 透明性
  • 红色的
  • 绿色的
  • 蓝色的
  • 它们都在0-255之间

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

    此颜色可用于任何颜色笔刷

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

    
    
    <Grid>
        <Grid.Background>
            <SolidColorBrush Color="Red" Opacity="0.5"></SolidColorBrush>
        </Grid.Background>
    
        <TextBlock Text="Hallo there"></TextBlock>
    </Grid>    
    

    只需使用a颜色值而不是不透明度即可使其透明。谢谢。我猜这和上面的Arjan的答案是一样的,但他是第一个,所以得到了答案。:-)