如何更改按钮图像但仍然选择整个按钮?

时间:2013-10-30 15:13:14

标签: wpf image button

我正在尝试在WPF中创建一个按钮,当鼠标悬停时,它会亮起并获得围绕它的蓝色选择。我管理前者,但是通过更改按钮图像,我显然会覆盖突出显示按钮的命令,并带有蓝色选择。

这就是我所拥有的:

<Button Command="DoSomething" Name="button">
    <Button.Template>
        <ControlTemplate>
            <Image Height="32" Width="32" Stretch="Uniform" Name="buttonImage">
                <Image.Style>
                    <Style TargetType="Image">
                        <Setter Property="Source" Value="/Project;component/Project/Bitmaps/Icon_colour.png" />
                    </Style>
                </Image.Style>
            </Image>
            <ControlTemplate.Triggers>
               <Trigger Property="IsMouseOver" Value="false">
                   <Setter Property="Source" Value="/Project;component/Project/Bitmaps/Icon_grey.png" TargetName="buttonImage"/>
               </Trigger>
            </ControlTemplate.Triggers>
        </ControlTemplate>
    </Button.Template>
</Button>

有没有办法让选择再次回来,同时保持图标点亮效果?

1 个答案:

答案 0 :(得分:1)

您已替换默认的Button ControlTemplate,因此您需要做的就是从原始ControlTemplate中“替换”缺失的部分。您可以在MSDN上的Button Styles and Templates页面中找到它。


更新&gt;&gt;&gt;

或者,您只需在Image属性中添加Button.Content

即可
<Button Command="{Binding DoSomething, Mode=OneWay}">
    <Image Source="/Project;component/Project/Bitmaps/Icon_colour.png" />
</Button>