在wpf开发中遇到子控件会继承父类控件属性的问题,
例如:
<StackPanel Orientation="Horizontal" Grid.Row="1" Background="Black" Opacity="0.3">
<Label Content="{Binding Id}" Foreground="White" VerticalAlignment="Center"></Label>
<Label Content="{Binding Name}" Foreground="White" VerticalAlignment="Center"></Label>
</StackPanel>
此时两个Label都会继承stackPanel的Opacity属性,如果想要不继承透明属性,这时候需要用到笔刷,代码如下:
<SolidColorBrush Color="Black" Opacity=".3" x:Key="OpacityBrush"/> <StackPanel Orientation="Horizontal" Grid.Row="1" Background="{StaticResource OpacityBrush}">
<Label Content="{Binding Id}" Foreground="White" VerticalAlignment="Center"></Label>
<Label Content="{Binding Name}" Foreground="White" VerticalAlignment="Center"></Label>
</StackPanel>