设置透明度时,我们的习惯性设置如下:
<Grid Grid.Row=”0″ Background=”#19191E” Opacity=”0.6″>
<Label Content=”背景透明,文字透明” FontSize=”30″ Foreground=”White” VerticalAlignment=”Center” HorizontalAlignment=”Center”/>
</Grid>

这样设置,wpf的父控件设置透明度之后,里面的子控件也会跟着变透明。

怎样使父控件透明后,子控件比如文本保持不透明呢?
实现方法如下。

<Grid Grid.Row=”1″>
<Grid.Background>
<SolidColorBrush Color=”#19191E” Opacity=”0.6″/>
</Grid.Background>
<Label Content=”背景透明,文字不透明” FontSize=”30″ Foreground=”White” VerticalAlignment=”Center” HorizontalAlignment=”Center”/>
</Grid>

将grid的Background属性单独拿出来设置,这样设置的透明对只针对背景色,而不针对其他的子控件。

对比效果如下图:

 

 

————————————————
版权声明:本文为CSDN博主「summer_top」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/summer_top/article/details/110426860