我的 wpf-mvvm 应用程序中有一个按钮控件。
我用一个ICommand
属性(在 viewmodel 中定义)将按钮单击事件绑定到 viewmodel。
我有 -> 执行和canexecute
我的参数ICommand
执行 (RelayCommand
).
Even if CanExecute
为 false...按钮未禁用...当按钮内容为图像时
但是,当按钮内容是文本时……启用/禁用效果很好。
<Button DockPanel.Dock="Top"
Command="{Binding Path=MoveUpCommand}">
<Button.Content>
<Image Source="/Resources/MoveUpArrow.png"></Image>
</Button.Content>
<Style>
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value=".5" />
</Trigger>
</Style.Triggers>
</Style>
</Button>
按钮确实被禁用,只是它不影响图像的渲染。
您必须以将图像的不透明度更改为 0.5 的样式编写一个触发器,然后您将获得禁用按钮的所需效果,如下所示:
<Style x:Key="imageButton" TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Opacity" Value=".5" />
</Trigger>
</Style.Triggers>
</Style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)