1

我有这个 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.Sourcebecome"Images/update.png"和 when未ButtonUpdate启用:

ButtonUpdate.IsEnabled = false;

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

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

4

2 回答 2

1

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

您可以为Stylethe创建一个并Button使用Triggerin that根据状态Style更改按钮的ContentIsEnabledControlTemplateImageButtonSourceImage

这个答案似乎提供了你所问的细节。

于 2013-04-29T17:33:53.120 回答
0

The image source property should be in this format:

"/«YourAssemblyName»;component/«YourPath»/«YourImage.png»"

Example

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

See this post for more info:

WPF image resources

于 2013-04-29T17:34:54.907 回答