2009-04-17 2 views
8

Это должно быть так просто, но я не могу этого сделать: если я помещу текстовый блок в контейнер и сделаю непрозрачность контейнера < 1, текст наследует эту непрозрачность, независимо от того, пытаюсь ли я переопределите его в текстовом блоке. Как я могу сохранить непрозрачность текста на 100%, а в полу-прозрачном контейнере?Текст на полупрозрачном фоне

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

Просто используйте значение цвета вместо непрозрачности, чтобы сделать его прозрачным. – Peter

ответ

14

Будет ли это делать трюк?

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

Установка фона, чтобы быть прозрачным, а не весь элемент Border ...

3

Просто используйте значение цвета вместо непрозрачности, чтобы сделать его транспарант.

Свойство Цвет может быть сформирован из 4-х параметров являются:

  1. диапозитивные
  2. Красный
  3. Зеленый
  4. Синий

Все они в пределах от 0-255

Полупрозрачный синий будет: (128,0,0,255) Перевод на XAML (Hexidecimal): # 800000FF

Этот цвет можно использовать в любой цветной щетке.

Итак, еще есть пример того, как его реализовать в коде, который я просто вижу.

+0

Спасибо. Наверное, это тот же ответ, что и у Арьяна, но он был первым, так что получил галочку. :-) – Graeme

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

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