目前我在WPF中有按钮,但我希望它们在禁用时显得更亮,在启用时显示为全彩。是否有一个选项可以让图像自动变亮,或者我需要在inkscape中编辑它们并导入为完全不同的图像并更改ViewModel中的图像Source
。
其中一个按钮当前使用的代码:
<Button Visibility="{Binding SettingsButtonIsEnabled}" Command="{Binding OnSaveProject}" VerticalAlignment="Top" ToolTip="{DynamicResource SaveProject}">
<Image RenderOptions.BitmapScalingMode="HighQuality" Source="/Axon.Oscillographic.Viewer;component/Icons/save.png"/>
</Button>
答案 0 :(得分:1)
一种可能的解决方案是在禁用按钮时缩小图像Opacity
。这可以通过带有DataTrigger的Style来完成:
<Image RenderOptions.BitmapScalingMode="HighQuality" Source="/Axon.Oscillographic.Viewer;component/Icons/save.png">
<Image.Style>
<Style TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled, RelativeSource={RelativeSource AncestorType=Button}}"
Value="False">
<Setter Property="Opacity" Value="0.75"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>