- 设置透明度时,我们的习惯性设置如下:
<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属性单独拿出来设置,这样设置的透明对只针对背景色,而不针对其他的子控件。
对比效果如下图: