Met*_*urf 29 wpf transparency opacity
Grid
在WPF中设置不透明度时,所有子元素似乎都会继承它Opacity
.如何让子元素不继承父元素的不透明度?
例如,以下父网格中间有一个子网格,背景设置为红色,但由于父级的不透明度,背景显示为粉红色.我希望子网格具有纯色,不透明的背景:
<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>
Run Code Online (Sandbox Code Playgroud)
chi*_*nov 45
我能够使用Brush绘制主网格背景,在纯xaml中实现这样的效果.这样,只有父网格将设置其不透明度,并且其子元素不会继承它.
<Grid x:Name="LayoutRoot">
<Grid>
<Grid.Background>
<SolidColorBrush Color="Black" Opacity="0.5"/>
</Grid.Background>
<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>
<Grid Grid.Column="1" Grid.Row="1" Background="Red" />
</Grid>
</Grid>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13006 次 |
最近记录: |