如何禁用按钮时更改图像?
我试图在禁用按钮时显示不同的图像;我认为触发器很容易。如何禁用按钮时更改图像?
但是,当按钮被禁用时,我还没有能够让图像源切换到禁用的图像。我已经尝试在图像和按钮上设置触发器。我在下面有什么问题?当按钮被启用/禁用时,如何更改图像源?
<Button x:Name="btnName"
Command="{Binding Path=Operation}"
CommandParameter="{x:Static vm:Ops.OpA}">
<Button.Content>
<StackPanel>
<Image
Width="24"
Height="24"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
Source="/MyAssembly;component/images/enabled.png">
<Image.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=btnName, Path=Button.IsEnabled}" Value="False">
<Setter Property="Image.Source" Value="/MyAssembly;component/images/disabled.png" />
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</StackPanel>
</Button.Content>
</Button>
回答:
是的,这个弹出了很多。
在对象声明中明确设置的任何属性都不能在样式中更改。因为你已经在图像的声明中设置了图像的Source属性,所以这个样式的Setter将不会触及它。
试试这个:
<Image Width="24"
Height="24"
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
>
<Image.Style>
<Style TargetType="Image">
<Setter Property="Source"
Value="/MyAssembly;component/images/enabled.png" />
<Style.Triggers>
... your trigger and setter ...
</Style.Triggers>
</Style>
</Image.Style>
</Image>
以上是 如何禁用按钮时更改图像? 的全部内容, 来源链接: utcz.com/qa/257595.html