我有这个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代码不起作用。错误在哪里?我该如何解决?
答案 0 :(得分:1)
您的Trigger
适用于Image
,而不是按钮,因此在这种情况下监控的IsEnabled
属性是Image.IsEnabled
属性,这不是您的想。
您可以为Style
创建Button
,并使用Trigger
中的Style
根据{更改按钮的Content
{1}}州,或者您可以使用IsEnabled
创建ControlTemplate
作为Image
的内容,并根据Button
更改Source
按钮的启用状态。
This Answer似乎提供了您所询问的具体内容。
答案 1 :(得分:0)
图像源属性应采用以下格式:
<强> «YourAssemblyName»;组分/«YourPath»/«YourImage.png»“强>
实施例
<Image Source="/WPFApplication;component/Images/Start.png" />
有关详细信息,请参阅此帖子: