成员"Opacity"未被识别或无法访问。为什么我不能设置不透明度?

6
我想使用DataTrigger来修改我的按钮的透明度。
                <Button x:Name="StartTreatment"
                    Grid.Column="3"
                    Width="160"
                    Height="30"
                    Content="{x:Static resources:UserMessages.TrcsConsoleViewModel_LoadWfSequence_StartProcedure}"
                    IsEnabled="{Binding CanStartProcedure}"
                    Visibility="{Binding CanStartPatientTreatment, Converter={StaticResource BooleanToVisibility}}" >
                <Button.Style>
                    <Style>
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding CanStartProcedure}" Value="False">
                                <Setter Property="Opacity" Value="0.5"></Setter>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </Button.Style>
            </Button>

我知道按钮(Button)有一个可以设置的透明度(Opacity),而数据触发器(DataTriggers)必须在样式(Style)中使用。然而编译器报告“成员'Opacity'未被识别或不可访问”。我做错了什么?

1个回答

17

您应该添加 TargetType

...
<Button.Style>
    <Style TargetType="Button">
        <Style.Triggers>
            <DataTrigger Binding="{Binding CanStartProcedure}" Value="False">
                <Setter Property="Opacity" Value="0.5"></Setter>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</Button.Style>
...

1
完美!运行得很好。谢谢。 - Will

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接