Silverlight 如何仅灰显按钮图像,而不是整个按钮

Silverlight 如何仅灰显按钮图像,而不是整个按钮,silverlight,button,disabled-control,Silverlight,Button,Disabled Control,我想灰色的图像只,而不是整个按钮。原因是按钮上的图像部分是透明的,所以当整个按钮变灰时,它看起来很奇怪 在下图中,您可以看到整个按钮变灰,而不仅仅是可见图像 相关的。。。排序:您需要覆盖按钮的ControlTemplate。怎么做 创建新样式 在该样式中定义ControlTemplate ControlTemplate查找名为“Disabled”的可视状态的定义 更改该选项,使其仅更改图像,而不会使整个按钮变灰 这些是控件模板的相关部分 <ControlTemplate TargetTy

我想灰色的图像只,而不是整个按钮。原因是按钮上的图像部分是透明的,所以当整个按钮变灰时,它看起来很奇怪

在下图中,您可以看到整个按钮变灰,而不仅仅是可见图像


相关的。。。排序:

您需要覆盖按钮的ControlTemplate。怎么做

  • 创建新样式
  • 在该样式中定义ControlTemplate
  • ControlTemplate查找名为“Disabled”的可视状态的定义
  • 更改该选项,使其仅更改图像,而不会使整个按钮变灰
  • 这些是控件模板的相关部分

    <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
    需要完全覆盖已启用按钮上显示的图像,以便在禁用时,用户只能看到灰显图像。

    您可以将图像替换为灰显版本。我想,但这似乎是一个真正的退步,你想在什么事件中使按钮变灰?@grv_9098点击事件