0

如何为组框等设置背景的不透明度。

下面的代码无法编译:

<Style TargetType="GroupBox">
    <Setter Property="Background">
        <Setter.Value>
            <SolidColorBrush Opacity="0.5">White</SolidColorBrush>
        </Setter.Value>
    </Setter>
</Style>
4

3 回答 3

3

您的代码没有编译不是因为不透明,而是因为值“White”。你必须把它应用到画笔Color上。

您可以使用:

<SolidColorBrush Opacity="0.5" Color="White" />

或者

<SolidColorBrush Opacity="0.5">
    <SolidColorBrush.Color>White</SolidColorBrush.Color>
</SolidColorBrush>
于 2010-08-24T15:52:42.283 回答
0

不透明度是 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>
于 2010-08-24T15:52:48.673 回答
0

您可以直接在颜色上将不透明度设置为您想要的任何内容。前两个十六进制数字控制画笔的“alpha”。7F 为 50%

<SolidColorBrush  x:Key="MyBrush" Color="#7FFFFFFF"/>

所以,你的风格应该是这样的:

<Style TargetType="GroupBox">
    <Setter Property="Background">
        <Setter.Value>
            <SolidColorBrush Color="#7FFFFFFF"/>
        </Setter.Value>
    </Setter>
</Style>
于 2010-08-24T15:58:40.653 回答