2009-04-17 132 views
8

這一定很簡單,但我做不到:如果我在容器中放置文本塊並使容器的不透明度爲< 1,則文本會繼承該不透明度,無論我嘗試在文本塊中覆蓋它。如何在半透明容器中保持文字100%不透明?半透明背景上的文字

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

只需使用顏色值代替透明度即可使其透明。 – Peter 2009-04-17 13:58:34

回答

14

這會做詭計嗎?

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

設置的背景是透明的,而不是整個Border元素...

3

在代替只需使用不透明的顏色值,使其TRANSPARANT。

的顏色屬性可以形成出的4個參數之中:

  1. Transparancy
  2. 綠色

所有這些範圍從0-255

半透明藍色將是:(128,0,0,255) 翻譯成XAML(十六進制):#800000FF

您可以在任何顏色刷中使用此顏色。

所以,其他人已經有一個例子,如何在你的代碼中實現它,我只是看到了。

+0

謝謝。我想這與上面的Arjan是一樣的答案,但他是第一個得到的答案。 :-) – Graeme 2009-04-17 14:06:12

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

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