如果给按钮设置了背景图片,当鼠标移到按钮上的时候,按钮就好变成一个浅蓝色的按钮,背景图片就消失了,对于这个问题有很多解决方法,我只分享一下我的解决方法。

我第一次用的方式是在按钮中添加一个图片,不用背景来设置。

<Button  HorizontalAlignment="Left" Margin="179,56.506,0,0" Click="Button_Click" VerticalAlignment="Top" Width="90" Height="74" BorderBrush="#FF1344EC" Grid.Row="1" Padding="2">
<Image Source="image/dzsp.png" Name="btn1Image" Stretch="Fill"></Image>
</Button>

  用这种方式设置的按钮确实不会再出现之前说的问题了,但是也暴露了另一个问题,那就是鼠标移到按钮上后,按钮不会有任何的反应。我希望的是鼠标移到按钮后,按钮的颜色能有所改变。所以我又使用了下面的方式。

<Button Width="100" Margin="0,0,0,4" Name="my" MouseEnter="my_MouseEnter" MouseLeave="my_MouseLeave" BorderBrush="{x:Null}">
<Button.Template>
<ControlTemplate TargetType="Button">
<ContentControl>
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
<StackPanel>
<StackPanel Height="20">
<StackPanel.Background>
<ImageBrush ImageSource="image/ico_01.png" Stretch="None"/>
</StackPanel.Background>
</StackPanel>
<Label BorderThickness="0" Padding="5" FontSize="17" FontWeight="SemiBold" Foreground="White" HorizontalContentAlignment="Center">XXXX</Label>
</StackPanel></Border>
</ContentControl>
</ControlTemplate>
</Button.Template>
</Button>

  这种方式中,将原来用于做背景的图片给分离了,本来的图片是一个图标加上一段文字,现在是将图标单独制作为一张图片ico_01.png,然后原来背景图片中的文字放到了标签中。

定义按钮的两个事件MouseEnter和MouseLeave,分别用于处理鼠标移到按钮和移出按钮

private void my_MouseEnter(object sender, MouseEventArgs e)
{
my.BorderBrush = Brushes.Red;
my.BorderThickness = new Thickness(2.0);
my.Opacity = 0.5;
ss++;
} private void my_MouseLeave(object sender, MouseEventArgs e)
{
my.BorderBrush = null;
my.BorderThickness = new Thickness(0.0);
my.Opacity = ;
}

就这样,运行程序,当鼠标进入按钮的时候,按钮就会变成半透明,且出现红色边框

WPF中当鼠标移到按钮上时,按钮的背景图片消失的问题的更多相关文章

  1. JS事件 鼠标经过事件(onmouseover)鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

    鼠标经过事件(onmouseover) 鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序. 现实鼠标经过"确定&quo ...

  2. WPF中获取鼠标相对于屏幕的位置

    原文:WPF中获取鼠标相对于屏幕的位置 WPF中获取鼠标相对于屏幕的位置                                   周银辉WPF编程时,我们经常使用Mouse.GetPosi ...

  3. JS事件 鼠标移开事件(onmouseout)鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。

    鼠标移开事件(onmouseout) 鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序. 当把鼠标移动到"登录"按钮上,然后再移开时,触发onmouseout ...

  4. 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片

    查看本章节 查看作业目录 需求说明: 使用 jQuery 操作页面元素的方法,实现浏览大图片的效果,在页面上插入一幅小图片,当鼠标悬停到小图片上时,在小图片的右侧出现与之相对应的大图片 实现思路: 在 ...

  5. javaweb图片上传 tomcat重新部署 图片消失

      标签: 图片上传tomcat重新部署图片消失原因分析以及解决办法 最近在做一个Javaweb的项目,涉及到图片上传,并且需要将图片通过URL回显给JSP页面,在调试的时候发现,上传到tomcat的 ...

  6. jQuery实现鼠标移到元素上动态提示消息框效果

    当光标移动到某些元素上时,会弹出像tips的提示框,这种效果想必大家都有见到过吧,下面有个不错的示例,大家可以感受下 当光标移动到某些元素上时,会弹出像tips的提示框. 复制代码代码如下: < ...

  7. C# chart,有关如何在鼠标移动到Series上时显示节点及数据 (有待继续更新)

    一.效果与思路 效果: 解决方案1 用chart的mousemove时间,实时跟踪鼠标最近的X轴的位置,然后把cursorX设置到那个位置上,让用户知道我是选的那一个X的值,同时用tooltip显示该 ...

  8. vue代码上传服务器后背景图片404解决方法

    问题:代码上传服务器后,图片404,使用的font-awesome图标也是404 解决办法: 如果你用了vue-cil,那么在build目录下找到utils.js中的ExtractTextPlugin ...

  9. Allegro中解决鼠标放在走线上网络名、走线长度显示不出来的问题

    一些PCB设计者在使用allegro时,由于一些误操作 导致当鼠标放在走线(cline)和网络(net)上面时,软件没有显示该走线的所属网络,或者相关的长度信息.本人经过help文档发现,以下方法可以 ...

随机推荐

  1. 总结oninput、onchange与onpropertychange事件的用法和区别 书写搜索的神奇代码

    总结oninput.onchange与onpropertychange事件的用法和区别 最近手机开发一个模糊搜索的功能组建,在网上就找到这篇文章! 前端页面开发的很多情况下都需要实时监听文本框输入,比 ...

  2. jquery简单切换插件

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  3. 两个iframe联动刷新 JS代码

    1.iframe代码: <iframe id="famUpload" src="report.asp?syear=<%=Year(now())%>&qu ...

  4. 关于arm-linux-gcc的安装与配置

    在嵌入式开发中我们经常会用到arm-linux-gcc来编译我们的应用程序.作为arm-linux-gcc的入门,我们先看看如何安装arm-linux-gcc. 安装arm-linux-gcc还是比较 ...

  5. weblogic开机启动脚本

    1.在/home/bea/startBeaAll目录内创建一个startBeaAll.sh文件,加入如下内容(把相应目录与命令修改即可,红字部分为修改地方): #!/bin/sh echo " ...

  6. js跨浏览器事件处理

    var EventUtil = { addHandler: function(element,type,handler){ if(element.addEventListener){ element. ...

  7. 通过js引入当前所需要的js,css等

    在我们web前端页面中经常会用到许多外部的js,css文件,那么问题来了,怎样才能一次性引入? 通过js便可实现 走码: //创建一个init.js文件 var jsUrls = "js/j ...

  8. JuPyter(IPython) Notebook中通过pip安装第三方Python Module

    JuPyter(IPython) Notebooks中使用pip安装Python的模块 刚开始接触JuPyter Notebook的时候觉得这是个不错的写技术博客的工具,可以很直观的把代码和结果结合在 ...

  9. python读取Excel

    import xlrd # 读取Excel文件 workbook = xlrd.open_workbook(r'E:\2015.xls') # 读取Excel的sheet名字 sheet_names ...

  10. c链表结点的删除和添加

    #include<stdio.h> #include<stdlib.h> typedef char datetype;/*定义新的数据类型名*/ typedef struct ...