我只想使图像变灰而不是整个按钮。原因是按钮上的图像是部分透明的,所以当整个按钮变灰时,它看起来很奇怪。
在下图中,您可以看到整个按钮变灰,而不仅仅是可见图像
相关... sorta:在 Silverlight 中禁用带有自定义内容的按钮?
我只想使图像变灰而不是整个按钮。原因是按钮上的图像是部分透明的,所以当整个按钮变灰时,它看起来很奇怪。
在下图中,您可以看到整个按钮变灰,而不仅仅是可见图像
相关... sorta:在 Silverlight 中禁用带有自定义内容的按钮?
您将需要为您的按钮覆盖 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
您在可视状态管理器中引用的内容将需要完全覆盖启用按钮上显示的图像,以便在禁用时,用户只能看到变灰的图像。