【问题标题】:Text over semi-transparent background半透明背景上的文本
【发布时间】:2009-04-17 13:50:25
【问题描述】:

这一定很简单,但我做不到:如果我将文本块放入容器中并使容器的不透明度

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

【问题讨论】:

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

标签: xaml transparency


【解决方案1】:

这能解决问题吗?

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

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

【讨论】:

    【解决方案2】:

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

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

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

    它们的范围都是 0-255

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

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

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

    【讨论】:

    • 谢谢。我想这与上面的 Arjan 答案相同,但他是第一个,所以得到了勾选。 :-)
    【解决方案3】:
    <Grid>
        <Grid.Background>
            <SolidColorBrush Color="Red" Opacity="0.5"></SolidColorBrush>
        </Grid.Background>
    
        <TextBlock Text="Hallo there"></TextBlock>
    </Grid>    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-02
      • 2015-11-12
      • 2018-10-25
      • 2011-09-15
      • 2010-12-16
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      相关资源
      最近更新 更多