父按钮更改其启用状态时更改图像源

时间:2013-04-29 17:27:12

标签: c# wpf image xaml binding

我有这个XAML代码:

<Button x:Name="ButtonUpdate" IsEnabled="False">
    <Image Source="Images/update gray.png" Name="ImgUpdate" >
        <Image.Style>
            <Style TargetType="{x:Type Image}">
                <Style.Triggers>
                    <Trigger Property="IsEnabled" Value="True">
                        <Setter Property="Source" Value="Images/update.png" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
    </Image>
</Button>

启用ButtonUpdate时我希望如此:

ButtonUpdate.IsEnabled = true;

ImgUpdate.Source成为"Images/update.png",未启用ButtonUpdate

ButtonUpdate.IsEnabled = false;

ImgUpdate.Source使用数据绑定成为"Images/update gray.png"

我的XAML代码不起作用。错误在哪里?我该如何解决?

2 个答案:

答案 0 :(得分:1)

您的Trigger适用于Image,而不是按钮,因此在这种情况下监控的IsEnabled属性是Image.IsEnabled属性,这不是您的想。

您可以为Style创建Button,并使用Trigger中的Style根据{更改按钮的Content {1}}州,或者您可以使用IsEnabled创建ControlTemplate作为Image的内容,并根据Button更改Source按钮的启用状态。

This Answer似乎提供了您所询问的具体内容。

答案 1 :(得分:0)

图像源属性应采用以下格式:

<强>

实施例

<Image Source="/WPFApplication;component/Images/Start.png" />

有关详细信息,请参阅此帖子:

WPF image resources