Текст на полупрозрачном фоне - PullRequest
8 голосов
/ 17 апреля 2009

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

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

Ответы [ 3 ]

14 голосов
/ 17 апреля 2009

Это сработает?

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

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

3 голосов
/ 17 апреля 2009

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

Свойство Color может быть сформировано из 4 параметров:

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

Все они в диапазоне от 0 до 255

.

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

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

Так что еще есть пример, как реализовать это в вашем коде, который я только что вижу.

0 голосов
/ 22 августа 2015
<Grid>
    <Grid.Background>
        <SolidColorBrush Color="Red" Opacity="0.5"></SolidColorBrush>
    </Grid.Background>

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