【问题标题】:Button growing 8 pixels when MouseOver WPF XAMLMouseOver WPF XAML时按钮增长8像素
【发布时间】:2011-03-27 09:51:56
【问题描述】:

我正在处理一个相当令人沮丧的错误。我的最终目标是有一个图像,它会在 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" />

这是正在发生的事情:

感谢您的任何建议。

【问题讨论】:

    标签: wpf image xaml button controltemplate


    【解决方案1】:

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

    【讨论】:

    • 嗯,这听起来很可能,我不知道 png 存储了 dpi 信息。
    • 我也不是!所以我查了一下,发现这是第一次点击:hanselman.com/blog/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多