WPF在不影响子对象的情况下更改栅格和栅格边框不透明度
我有一个网格,我想使不透明度为0.5。 我也有这个网格的边界,以使其圆角,我希望这个边界也有不透明度0.5。 我希望所有这些都不会影响网格的内容。 我成功地更改了网格的不透明度,但不影响内容:WPF在不影响子对象的情况下更改栅格和栅格边框不透明度,wpf,grid,border,opacity,Wpf,Grid,Border,Opacity,我有一个网格,我想使不透明度为0.5。 我也有这个网格的边界,以使其圆角,我希望这个边界也有不透明度0.5。 我希望所有这些都不会影响网格的内容。 我成功地更改了网格的不透明度,但不影响内容: <Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" > <Border BorderThickness="7" CornerRadius="4" > <Grid
<Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" >
<Border BorderThickness="7" CornerRadius="4" >
<Grid>
<Grid.Background>
<SolidColorBrush Color="#73B2F5" Opacity="0.5"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Button Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Asaf"></Button>
</Grid>
</Border>
</Grid>
在上面的示例中,当网格为0.5时,按钮具有完全不透明度,但是边界如何?
如何使边框不透明度为0.5而不影响其内部的网格和网格内容(所有边框子项)
我试过这个,但不起作用:
<Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" >
<Border BorderThickness="7" CornerRadius="4">
<Border.Background>
<SolidColorBrush Color="#73B2F5" Opacity="0.5"/>
</Border.Background>
<Grid>
<Grid.Background>
<SolidColorBrush Color="#73B2F5" Opacity="0.5"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Button Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Asaf"></Button>
</Grid>
</Border>
</Grid>
只需将边框的BorderBrush属性(不是背景属性)设置为:
<Border.BorderBrush>
<SolidColorBrush Color="#000000" Opacity="0.5"/>
</Border.BorderBrush>
在您的示例中,它将如下所示:
<Grid Grid.Column="0" Grid.Row="0" Margin="10,15,5,5" >
<Border BorderThickness="7" CornerRadius="4">
<Border.BorderBrush>
<SolidColorBrush Color="#000000" Opacity="0.5"/>
</Border.BorderBrush>
<Grid>
<Grid.Background>
<SolidColorBrush Color="#73B2F5" Opacity="0.5"/>
</Grid.Background>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Button Grid.Row="1" Grid.Column="0" Width="40" Height="40" Content="Asaf"></Button>
</Grid>
</Border>
</Grid>
对于那些想要更改
数据网格中网格线的边框/不透明度的人,只需在参考资料中设置不透明颜色即可:
<Window.Resources>
<SolidColorBrush x:Key="StackOverflowGray" Color="LightGray" Opacity=".3" />
</Window.Resources>
然后,以下用法将在datagrid中显示较轻的单元格边框:
<DataGrid GridLinesVisibility="All"
HorizontalGridLinesBrush="{StaticResource StackOverflowGray}"
VerticalGridLinesBrush="{StaticResource StackOverflowGray}"