当父按钮更改其启用状态时更改图像源
本文关键字:图像 状态 按钮 启用 | 更新日期: 2023-09-27 18:11:17
我有这个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代码不工作。错误在哪里?我该怎么修理它?
您的Trigger
应用于Image
,而不是按钮,因此在这种情况下监控的IsEnabled
属性是Image.IsEnabled
属性,这不是您想要的。
您可以为Button
创建Style
,并在Style
中使用Trigger
来根据IsEnabled
的状态更改按钮的Content
,或者您可以创建ControlTemplate
,将Image
作为Button
的内容,并根据按钮的启用状态更改Image
的Source
。
这个答案似乎提供了你所问问题的细节
图片源属性应该是这样的格式:
"/«YourAssemblyName»;组件/«YourPath»和«YourImage.png»"
例子<Image Source="/WPFApplication;component/Images/Start.png" />
查看这篇文章获取更多信息:
WPF图片资源