更改按钮图像时IsEnabled [英] Changing Button image when IsEnabled

查看:267
本文介绍了更改按钮图像时IsEnabled的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要改变按钮图像时按钮 IsEnabled ==假

下面是我的榜样,绑定都很好,当我改变他们假/真它仍然没有工作。

 <按钮X:NAME =btnBackwardGrid.Column =0Grid.Row =2命令={结合UserWorkflowManager.NavigateBackward}IsEnabled ={结合UserWorkflowManager.NavigateBackwardEnable}Grid.RowSpan =2>
    < Button.Template>
        <&控件模板GT;
            <图像名称=_形象的Horizo​​ntalAlignment =中心VerticalAlignment =中心拉伸=制服>
                < Image.Style>
                    <风格的TargetType =图片>
                        < setter属性=源VALUE =/ UserWorkflow.View;组件/图片/ LDC500_butX_ previousPane_norm.bmp/>
                            < Style.Triggers>
                                < D​​ataTrigger绑定={绑定的ElementName = btnBackward,路径= IsEnabled}VALUE =FALSE>
                                    < setter属性=源VALUE =/ UserWorkflow.View;组件/图片/ LDC500_butX_ previousPane_dis.bmp/>
                                < / DataTrigger>
                            < /Style.Triggers>
                    < /样式和GT;
                < /Image.Style>
            < /图像>
        < /控件模板>
    < /Button.Template>
< /按钮>


解决方案

请尝试以下

 < Style.Triggers>
    < D​​ataTrigger绑定={结合IsEnabled,的RelativeSource = {的RelativeSource AncestorType =按钮}}VALUE =FALSE>
        < setter属性=源VALUE =/ UserWorkflow.View;组件/图片/ LDC500_butX_ previousPane_dis.bmp/>
    < / DataTrigger>
< /Style.Triggers>

或直接在控制模板添加触发器像这样

 <&控件模板GT;
                <图像名称=_形象的Horizo​​ntalAlignment =中心>
                 ..........
                < /图像>
                < ControlTemplate.Triggers>
                    <触发属性=IsEnabledVALUE =false的>
                        <二传手的TargetName =_形象属性=源VALUE =/ UserWorkflow.View;组件/图片/ LDC500_butX_ previousPane_dis.bmp/>
                    < /触发>
                < /ControlTemplate.Triggers>
            < /控件模板>

I want to change button image when button IsEnabled == False.

Below is my example, bindings are fine, when I change them for False/True it is still not working.

<Button x:Name="btnBackward" Grid.Column="0" Grid.Row="2" Command="{Binding UserWorkflowManager.NavigateBackward}" IsEnabled="{Binding UserWorkflowManager.NavigateBackwardEnable}" Grid.RowSpan="2">
    <Button.Template>
        <ControlTemplate>
            <Image Name="_image" HorizontalAlignment="Center" VerticalAlignment="Center" Stretch="Uniform">
                <Image.Style>
                    <Style TargetType="Image">
                        <Setter Property="Source" Value="/UserWorkflow.View;component/Images/LDC500_butX_PreviousPane_norm.bmp" />
                            <Style.Triggers>
                                <DataTrigger Binding="{Binding ElementName=btnBackward, Path=IsEnabled}" Value="False">
                                    <Setter Property="Source" Value="/UserWorkflow.View;component/Images/LDC500_butX_PreviousPane_dis.bmp"/>
                                </DataTrigger>
                            </Style.Triggers>
                    </Style>
                </Image.Style>
            </Image>
        </ControlTemplate>
    </Button.Template>
</Button>

解决方案

Try the following

<Style.Triggers>
    <DataTrigger Binding="{Binding IsEnabled,RelativeSource={RelativeSource AncestorType=Button}}" Value="False">
        <Setter Property="Source" Value="/UserWorkflow.View;component/Images/LDC500_butX_PreviousPane_dis.bmp"/>
    </DataTrigger>
</Style.Triggers>

Or add the trigger directly in the control template like so

            <ControlTemplate>
                <Image Name="_image" HorizontalAlignment="Center">
                 ..........
                </Image>
                <ControlTemplate.Triggers>
                    <Trigger Property="IsEnabled" Value="false">
                        <Setter TargetName="_image" Property="Source" Value="/UserWorkflow.View;component/Images/LDC500_butX_PreviousPane_dis.bmp" />
                    </Trigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>

这篇关于更改按钮图像时IsEnabled的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆