当MouseOver WPF XAML时按钮增长8个像素

时间:2010-08-09 16:40:36

标签: wpf image xaml button controltemplate

我正在处理一个相当令人沮丧的错误。我的最终目标是拥有一个在IsMouseOver上发光的图像,并且可以单击该图像来调用事件。这似乎太复杂了,但我找到的另一个选择是创建一个自定义用户控件,这更加过分。这就是我到目前为止所做的:

<Style x:Key="DelButton" TargetType="Button">
        <Setter Property="Padding" Value="0" />
        <Setter Property="Background" Value="Red" />
        <Setter Property="BorderBrush" Value="Transparent" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Image Source="/HaskList;component/Images/Del24.png" Stretch="None"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="Button">
                            <Image Source="/HaskList;component/Images/Del24h.png" Stretch="None"/>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Trigger>
        </Style.Triggers>
    </Style>

我的按钮定义为:

<Button HorizontalAlignment="Right" Margin="0,28,6,0" Name="delButton" VerticalAlignment="Top" Style="{DynamicResource DelButton}" Click="delButton_Click" />

这就是发生的事情:

alt text

感谢您的任何建议。

1 个答案:

答案 0 :(得分:2)

我前几天遇到了这个问题,可能是其中一个图像是标准的96dpi,另一个是其他的。我有一个图像,不知何故是78 dpi或其他东西,这就是为什么它变得奇怪的大小。