在鼠标悬停上更改WPF / XAML中按钮或标签的背景图像

时间:2015-07-02 16:42:16

标签: c# wpf xaml

我在Windows窗体中使用了一个名为pbSignin的按钮。我设法在鼠标悬停时更改了这个图片框的背景,并将登录功能放在这个图片框下。

现在我想在WPF应用程序中发生同样的情况,但它在WPF中出错,我不知道该怎么做....请帮助

   pbSignin.MouseEnter += new EventHandler(pbSignin_MouseEnter);
   pbSignin.MouseLeave += new EventHandler(pbSignin_MouseLeave);



   private void pbSignin_MouseLeave(object sender, EventArgs e)
    {
        this.pbSignin.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.RedSignin));
    }

    private void pbSignin_MouseEnter(object sender, EventArgs e)
    {
        this.pbSignin.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.BlueSignin));
    }

1 个答案:

答案 0 :(得分:0)

以下是如何在鼠标悬停时更改按钮背景颜色的示例。只需将样式应用于您的控件,更改图片框的TargetType和Setter属性,您应该好好去。

<Style TargetType="{x:Type Button}">
    <Setter Property="Background" Value="Green"/>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Background" Value="Red"/>
        </Trigger>
    </Style.Triggers>
</Style>

触发器外的第一个Setter是属性的默认值。当触发条件触发时,它将覆盖默认值,并在触发器不再触发后恢复它。