在WPF中,当你在一个Grid
上设置不透明度时,所有子元素似乎都继承了它的Opacity
属性。那么如何让一个子元素不继承父元素的不透明度呢?
比如说,下面这个父级Grid有一个中间的子Grid,背景设置为红色,但是由于父元素的不透明度,背景颜色看起来有些粉色。我希望子元素Grid有一个纯色、不透明的背景:
<Grid x:Name="LayoutRoot">
<Grid Background="Black" Opacity="0.5">
<Grid.RowDefinitions>
<RowDefinition Height="0.333*"/>
<RowDefinition Height="0.333*"/>
<RowDefinition Height="0.333*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.333*"/>
<ColumnDefinition Width="0.333*"/>
<ColumnDefinition Width="0.333*"/>
</Grid.ColumnDefinitions>
<-- how do you make this child grid's background solid red
and not inherit the Opacity/Transparency of the parent grid? -->
<Grid Grid.Column="1" Grid.Row="1" Background="Red"/>
</Grid>
</Grid>