如何为组框等设置背景的不透明度。
下面的代码无法编译:
<Style TargetType="GroupBox">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Opacity="0.5">White</SolidColorBrush>
</Setter.Value>
</Setter>
</Style>
您的代码没有编译不是因为不透明,而是因为值“White”。你必须把它应用到画笔Color
上。
您可以使用:
<SolidColorBrush Opacity="0.5" Color="White" />
或者
<SolidColorBrush Opacity="0.5">
<SolidColorBrush.Color>White</SolidColorBrush.Color>
</SolidColorBrush>
不透明度是 Groupbox 本身的属性,而不是其背景的属性。
尝试
<Style TargetType="GroupBox">
<Setter Property="Background" Value="White"/>
<Setter Property="Opacity" Value="0.5"/>
</Style>
或者您可以在使用它的地方设置 GroupBox 的样式,如@Jay 的回答。
如果您真的只想更改背景不透明度,请使用以下命令:
<Style TargetType="GroupBox">
<Setter Property="Background" Value="#80ffffff"/>
</Style>
您可以直接在颜色上将不透明度设置为您想要的任何内容。前两个十六进制数字控制画笔的“alpha”。7F 为 50%
<SolidColorBrush x:Key="MyBrush" Color="#7FFFFFFF"/>
所以,你的风格应该是这样的:
<Style TargetType="GroupBox">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="#7FFFFFFF"/>
</Setter.Value>
</Setter>
</Style>