我只想将图像变灰而不是整个按钮。原因是按钮上的图像部分透明,所以当整个按钮变灰时,它看起来很奇怪。
在下图中,您可以看到整个按钮显示为灰色,而不仅仅是可见图像
相关... sorta:Disabling Button with custom Content in Silverlight?
答案 0 :(得分:0)
您需要覆盖按钮的ControlTemplate。怎么做?
这些是控件模板的相关部分
<ControlTemplate TargetType="Button">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<!-- other states go here -->
<VisualState x:Name="Disabled">
<Storyboard>
<DoubleAnimation Duration="0"
Storyboard.TargetName="DisabledImage"
Storyboard.TargetProperty="Opacity" To="1"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<!-- rest of the template goes here -->
</ControlTemplate>
您在视觉状态管理器中引用的DisabledImage
则需要完全覆盖启用按钮上显示的图像,以便在禁用时,只有用户可以看到灰色图像。