当前位置: 首页 > news >正文

WPF程序给按钮增加不同状态的图片

首先我们在资源里添加几个图片,Up,Over和Down状态。
然后我们创建一个Style。默认我们的背景设置成Up

然后在Triggers里添加代码,当Property:IsMouseOver为True的时候更换成Over;当Property:IsPressed为True的时候更换成Down;

这样就可以了。代码如下:

<Window.Resources><ImageBrush  x:Key="btnCloseUp" ImageSource="/source/guanbi.png"></ImageBrush><ImageBrush  x:Key="btnCloseOver" ImageSource="/source/guanbi1.png"></ImageBrush><ImageBrush  x:Key="btnCloseDown" ImageSource="/source/guanbi1 1.png"></ImageBrush><Style x:Key="btnCloseStyle" TargetType="{x:Type Button}"><Setter Property="Background" Value="{StaticResource btnCloseUp}"/><Setter Property="Template"><Setter.Value><ControlTemplate TargetType="{x:Type Button}"><Border x:Name="button"BorderThickness="0"Background="{TemplateBinding Background}"SnapsToDevicePixels="True" IsEnabled="False"></Border><ControlTemplate.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter Property="Background" TargetName="button" Value="{StaticResource btnCloseOver}"></Setter></Trigger><Trigger Property="IsPressed"  Value="True"><Setter Property="Background" TargetName="button" Value="{StaticResource btnCloseDown}"></Setter></Trigger></ControlTemplate.Triggers></ControlTemplate></Setter.Value></Setter></Style></Window.Resources>

当然如果需要不可用的时候显示成灰色,可以添加其他的状态:

<Trigger Property="IsEnabled"  Value="False"><Setter Property="Background" TargetName="button" Value="{StaticResource btnUpdateImgDisable}"></Setter>
</Trigger>

效果如图:
请添加图片描述

相关文章:

WPF程序给按钮增加不同状态的图片

首先我们在资源里添加几个图片&#xff0c;Up&#xff0c;Over和Down状态。 然后我们创建一个Style。默认我们的背景设置成Up 然后在Triggers里添加代码&#xff0c;当Property&#xff1a;IsMouseOver为True的时候更换成Over&#xff1b;当Property&#xff1a;IsPressed为Tr…...

Java编程陷阱(三)

陷阱11:不要使用StringBuffer类来拼接字符串 StringBuffer是Java中的一个类,它可以表示一个可变的字符串,也就是可以对字符串进行修改和追加的操作,比如使用append或insert方法来拼接字符串。有时候,我们需要使用StringBuffer类来拼接字符串,比如在循环中动态地构建一个字…...

数据仓库相关

​在阿里巴巴的数据体系中&#xff0c;我们建议将数据仓库分为三层&#xff0c;自下而上为&#xff1a;数据引入层&#xff08;ODS&#xff0c;Operation Data Store&#xff09;、数据公共层&#xff08;CDM&#xff0c;Common Data Model&#xff09;和数据应用层&#xff08…...

SpringBoot学习笔记-创建个人中心页面(下)

笔记内容转载自 AcWing 的 SpringBoot 框架课讲义&#xff0c;课程链接&#xff1a;AcWing SpringBoot 框架课。 CONTENTS 1. 实现个人中心页面2. POJO时区修改3. 集成代码编辑器 本节实现个人中心的前端页面&#xff0c;用户能够查看自己的 Bot 信息&#xff0c;并能创建、修改…...

电子秤方案:做一个宠物勺方案设计

养宠物是一件费心劳力的事情&#xff0c;但同时也是能够给你带来快乐和幸福感的事情。就是有时候会怕宠物毫无征兆地生病令人措手不及&#xff0c;所以电子秤方案设计鼎盛合科技分享一个小方案&#xff0c;能够及时了解到宠物的身体状况问题。 蓝牙宠物勺是一种具有记录和称重…...

Debezium-Embedded 实时监控MySQL数据变更

1.Debezium-Embedded 简介 Debezium连接器的操作通常是将它们部署到Kafka Connect服务&#xff0c;并配置一个或多个连接器来监控上游数据库&#xff0c;并为它们在上游数据库中看到的所有更改生成数据更改事件。这些数据更改事件被写入Kafka&#xff0c;在那里它们可以被许多不…...

计算机是如何工作的(简单介绍)

目录 一、冯诺依曼体系 二、CPU基本流程工作 逻辑⻔ 电⼦开关——机械继电器(Mechanical Relay) ⻔电路(Gate Circuit) 算术逻辑单元 ALU&#xff08;Arithmetic & Logic Unit&#xff09; 算术单元(ArithmeticUnit) 逻辑单元(Logic Unit) ALU 符号 寄存器(Regis…...

JSP基本表单和Request对象使用例子

表单的jsp&#xff1b; <%page contentType"text/html;charsetgbk" pageEncoding"UTF-8"%> <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><titl…...

【Redux】Redux 基本使用

1. Redux 快速上手 Redux 是 React 最常用的集中状态管理工具&#xff0c;类似于Vue中的Pinia&#xff08;Vuex&#xff09;&#xff0c;可以独立于框架运行。 <button id"decrement">-</button> <span id"count">0</span> <…...

多线程Thread(初阶一:认识线程)

目录 一、引用线程的原因 二、线程的概念 三、进程和线程的区别 四、多线程编程 一、引用线程的原因 多任务操作系统&#xff0c;希望系统能同时运行多个任务。所以会涉及到进程&#xff0c;需要对进程进行管理、调度等。 而单任务操作系统&#xff0c;就完全不涉及到进程…...

系列五、GC垃圾回收【四大垃圾算法-复制算法】

一、堆的内存组成 二、复制算法 2.1、发生位置 复制算法主要发生在新生代&#xff0c;发生在新生代的垃圾回收也被叫做Minor GC。 2.2、 Minor GC的过程 复制>清空》交换 1、eden、from区中的对象复制到to区&#xff0c;年龄1 首先&#xff0c;当eden区满的时候会触发第一…...

LeetCode(24)文本左右对齐【数组/字符串】【困难】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 文本左右对齐 1.题目 给定一个单词数组 words 和一个长度 maxWidth &#xff0c;重新排版单词&#xff0c;使其成为每行恰好有 maxWidth 个字符&#xff0c;且左右两端对齐的文本。 你应该使用 “贪心算法” 来放置给定的单…...

Spring-Spring之事务底层源码解析

EnableTransactionManagement工作原理 开启Spring事务本质上就是增加了一个Advisor&#xff0c;但我们使用EnableTransactionManagement注解来开启Spring事务是&#xff0c;该注解代理的功能就是向Spring容器中添加了两个Bean&#xff1a; AutoProxyRegistrarProxyTransactio…...

后端面经学习自测(三)

文章目录 1、ArrayList和Linkedlist区别&#xff1f;2、ArrayList扩容机制&#xff1f;3、ArrayList和Linkedlist分别能做什么场景&#xff1f;4、事务特性&#xff1f;MySQL事务Redis事务Spring事务5、在Spring中事务失效的场景&#xff1f;6、Java泛型&#xff1f;7、泛型擦除…...

力扣labuladong——一刷day40

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣341. 扁平化嵌套列表迭代器 前言 N叉树的结构&#xff0c;构造迭代器 一、力扣341. 扁平化嵌套列表迭代器 /*** // This is the interface that allo…...

在VS Code中使用VIM

文章目录 安装和基本使用设置 安装和基本使用 VIM是VS Code的强大对手&#xff0c;其简化版本VI是Linux内置的文本编辑器&#xff0c;堪称VS Code问世之前最流行的编辑器&#xff0c;也是VS Code问世之后&#xff0c;我仍在使用的编辑器。 对VIM无法割舍的原因有二&#xff0…...

注解【元数据,自定义注解等概念详解】(超简单的好吧)

注解的理解与使用 注解的释义元数据的含义基础阶段常见的注解注解的作用&#xff08;包括但不限于&#xff09;教你读懂注解内部代码内容五种元注解尝试解读简单注解我当时的疑惑点 自定义注解自定义注解举例 注解的原理总结 注解的释义 我们都知道注释是拿来给程序员看的&…...

vue-pdf在vue框架中的使用

在components目录下新建PdfViewer/index.vue vue-pdf版本为4.3.0 <template><div :id"containerId" v-if"hasProps" class"container"><div class"right-btn"><div class"pageNum"><input v-m…...

Wordpress页面生成器:Elementor 插件制作网站页面教程(图文完整)

本文来教大家怎么使用Wordpress Elementor页面编辑器插件来自由创建我们的网页内容。很多同学在面对建站的时候,一开始都是热血沸腾信心满满的,等到实际上手的时候就会发现有很多问题都是无法解决的,希望本篇Elementor插件使用指南能够帮助到你。 Wordpress Elementor页面编…...

完全随机设计的方差分析

一、说明 实验设计在科学研究中发挥着至关重要的作用&#xff0c;使研究人员能够从数据中得出有意义的结论。一种常见的实验设计是完全随机设计&#xff08;CRD&#xff09;&#xff0c;其特征是将实验单元随机分配到治疗组。CRD 的方差分析 (ANOVA) 是一种统计技术&#xff0c…...

FakeLocation:你的手机位置自由指南,3个场景让位置掌控更简单

FakeLocation&#xff1a;你的手机位置自由指南&#xff0c;3个场景让位置掌控更简单 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 还在为社交软件的位置限制烦恼吗&#xff1f…...

数据科学家压力管理的艺术

原文&#xff1a;towardsdatascience.com/the-art-of-stress-management-as-a-data-scientist-e49981cd2aa7 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/96cbf6100471444654cae4816944e9b1.png Photo by Johnson Wang on Unsplash 数…...

如何用Python 5分钟获取同花顺问财数据?量化分析终极指南

如何用Python 5分钟获取同花顺问财数据&#xff1f;量化分析终极指南 【免费下载链接】pywencai 获取同花顺问财数据 项目地址: https://gitcode.com/gh_mirrors/py/pywencai 还在为获取金融数据而烦恼吗&#xff1f;想快速筛选股票却苦于没有合适工具&#xff1f;今天我…...

WordPress Puock主题深度解析:高颜值集成化设计与实战配置指南

1. 项目概述&#xff1a;为什么选择Puock主题&#xff1f;如果你正在寻找一款功能强大、颜值在线&#xff0c;并且能让你从繁琐的WordPress主题配置中解脱出来的产品&#xff0c;那么Puock主题绝对值得你花时间深入了解。我接触过不少WordPress主题&#xff0c;从付费到开源&am…...

李跳跳真实好友5.0内测版发布,悄然找出删除你的微信好友[Android]

李跳跳真实好友是一款能够帮你找出删除你、拉黑你的微信好友的安卓应用&#xff0c;还可以为这部分微信好友添加备注&#xff0c;让你一眼识别删除你的和拉黑你的微信好友。注意&#xff1a;需要无障碍权限&#xff0c;进行模拟手机操作。李跳跳以跳过开屏广告著称&#xff0c;…...

音乐网站与分享平台 |基于Springboot+vue的音乐网站与分享平台(源码+数据库+文档)​

音乐网站与分享平台 目录 基于Springbootvue的音乐网站与分享平台 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xf…...

基于MCP协议构建安全可控的AI智能体数据接入层

1. 项目概述&#xff1a;一个为智能体打造的“安全印章”与“情报中枢”最近在折腾AI智能体&#xff08;Agent&#xff09;的开发与集成&#xff0c;发现一个挺有意思的现象&#xff1a;大家把模型能力、工具调用这些“上层建筑”都玩得很溜&#xff0c;但一涉及到让智能体安全…...

Ubuntu 下 Rider 无法识别 Unreal Engine 的解决方法

Ubuntu 下 Rider 无法识别 Unreal Engine 的解决方法适用环境&#xff1a;JetBrains Rider Ubuntu Unreal Engine&#xff08;含预发布/自定义安装版本&#xff09;问题描述在 Ubuntu 上使用 Rider 打开 UE 项目时&#xff0c;IDE 提示找不到引擎&#xff0c;或 .uproject 文…...

IJTAG标准解析:片上仪器统一管理与SoC调试自动化实践

1. 项目概述&#xff1a;当芯片内部“仪器”需要统一调度最近在整理一些老资料时&#xff0c;翻到了2012年EE Times上的一篇旧闻&#xff0c;讲的是ASSET公司发布了一份关于IEEE P1687 IJTAG标准的入门教程。虽然时间过去十多年&#xff0c;但文中提到的“片上仪器”标准化管理…...

AI智能体自动化部署:Agent Factory 两分钟构建专家级AI助手

1. 项目概述&#xff1a;Agent Factory 是什么&#xff1f; 如果你和我一样&#xff0c;对AI智能体&#xff08;AI Agent&#xff09;的潜力感到兴奋&#xff0c;但又对部署一个功能完整、面向公众的专家级Agent感到头疼——需要配置身份、记忆、知识库、Web界面&#xff0c;还…...