WPF行为
背景:实现按钮鼠标移动到上方有点交互效果或变一下有阴影。这样使用触发器就行了,但是如果是每个控件都有效果的话使用行为更加合适
1、下载NuGet包:Microsoft.xaml.behavior.wpf
2、创建行为类EffectBehavior,对Behavior进行重写
public class EffectBehavior : Behavior<FrameworkElement>
{protected override void OnAttached(){base.OnAttached();// 这个时候的AssociatedObject就是FrameworkElement,因为泛型传过去了AssociatedObject.MouseMove += AssociatedObject_MouseMove; // 鼠标进入AssociatedObject.MouseLeave += AssociatedObject_MouseLeave;}private void AssociatedObject_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e){var element = sender as FrameworkElement;// 设置效果element.Effect = (Effect)new DropShadowEffect() { Color = Colors.Transparent, ShadowDepth = 0 };}private void AssociatedObject_MouseMove(object sender, System.Windows.Input.MouseEventArgs e){var element = sender as FrameworkElement;element.Effect = (Effect)new DropShadowEffect() { Color = Colors.Red, ShadowDepth = 0 };}protected override void OnDetaching(){base.OnDetaching();AssociatedObject.MouseMove -= AssociatedObject_MouseMove; // 鼠标进入AssociatedObject.MouseLeave -= AssociatedObject_MouseLeave;}
}
-- 就是简单加上鼠标移动到控件上面加上阴影效果
-- 抽象类Behavior的泛型传入的是FrameworkElement是因为,大多数控件都是由它派生出来的,具体可以查看这个文章的WPF控件结构:https://www.cnblogs.com/zh7791/p/11372473.html
3、在xaml中引入NuGet的命名空间
4、将自己重写的behavior给控件使用
<StackPanel><TextBox Width="100" Height="30" Margin="40"><i:Interaction.Behaviors><local:EffectBehavior/></i:Interaction.Behaviors></TextBox><Button Width="100" Height="30" Margin="40"><i:Interaction.Behaviors><local:EffectBehavior/></i:Interaction.Behaviors></Button>
</StackPanel>
总结:对Behavior进行重写罢了
同样也是这个NuGet的使用
WPF实现更加灵活绑定复杂Command(使用Microsoft XAML Behaviors 库)_wpf 绑定复杂类型-CSDN博客
相关文章:
WPF行为
背景:实现按钮鼠标移动到上方有点交互效果或变一下有阴影。这样使用触发器就行了,但是如果是每个控件都有效果的话使用行为更加合适 1、下载NuGet包:Microsoft.xaml.behavior.wpf 2、创建行为类EffectBehavior,对Behavior进行重写…...

N-141基于springboot,vue网上拍卖平台
开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,项目采用前后端分离 前端技术:vueelementUI 服务端技术:springbootmybatis-plusredi…...

Unity之Cinemachine教程
前言 Cinemachine是Unity引擎的一个高级相机系统,旨在简化和改善游戏中的相机管理。Cinemachine提供了一组强大而灵活的工具,可用于创建令人印象深刻的视觉效果,使开发人员能够更轻松地掌控游戏中的摄像机行为。 主要功能和特性包括&#x…...
java面面试面经(面试过程)
一、校招一面面经 1.1 自我介绍(2min) 1.2 要求介绍项目一项目亮点以及做的具体工作 根据介绍项目进行细挖,其中包括方案设计、场景设计等等等 由于项目一种涉及数据库源的转换问题和限流方案,所以面试官拷打的是这两块,其中包括场景题&…...
大语言模型-大模型基础文献
大模型基础 1、Attention Is All You Need https://arxiv.org/abs/1706.03762 attention is all you need 2、Sequence to Sequence Learning with Neural Networks https://arxiv.org/abs/1409.3215 基于深度神经网络(DNN)的序列到序列学习方法 3、…...

【RH850U2A芯片】Reset Vector和Interrupt Vector介绍
目录 前言 正文 1. 什么是Reset Vector 1.1 S32K144芯片的Reset Vector 1.2 RH850芯片的Reset Vector 2. 什么是Interrupt Vector 2.1 S32K144芯片的Interrupt Vector 2.2 RH850芯片的Interrupt Vector 3. Reset Vector等价于Interrupt Vector吗 4. 总结 前言 最近在…...

Zabbix交换分区使用率过高排查
Zabbix High swap space usage 问题现象 Zabbix 出现Highswap space usage(less than 50% free)告警,提示交换分区空间使用率超过50% 处理过程 1. 确定swap分区是否已占满 free -h登录Zabbix服务器检查内存情况,检查发现Linux服务器空闲的内存还有不少…...
‘HEAD‘ 是 HTTP 请求的一种方法
一、名词解释 ‘HEAD’ 是 HTTP 请求的一种方法,它与 ‘GET’ 方法类似,但有一些关键区别。 当你使用 ‘GET’ 请求时,服务器会返回请求的资源(例如 HTML 页面或文件内容)。而当你使用 ‘HEAD’ 请求时,服务…...

go语言(十七)----json
1、结构体转json package mainimport ("encoding/json""fmt" )type Movie struct{Title string json:"title"Year int json:"year"Price int json:"rmb"Actors []string json:"actors" }func main() {movie : Mo…...

Java笔记 --- 四、异常
四、异常 Java.lang.Throwable Error Exception(异常) 异常的作用 异常的处理方式 JVM默认的处理方式 捕获异常(自己处理) try里面没有出现异常,就不会运行catch里面的代码 如果出现多个异常,需要多个c…...
Ubuntu20.04配置grub ,不必每次都输入 nomodeset
一、查看原来的grub配置: grep menuentry /boot/grub/grub.cfg 重点注意以下类似的核心版本号 gnulinux-5.15.0-92-generic-advanced-86a86651-8070-4338-92ee-8a1a13a98a05 gnulinux-5.15.0-67-generic-advanced-86a86651-8070-4338-92ee-8a1a13a98a05 …...

PBM模型学习(七)核化模型
Nucleation Rate 返回的是成核速率:单位时间内,多少个小颗粒生成,单位,个,/对于fluent而言,这个是对于网格而言,所以单位是:个/m3*s 成核:从无到有,形成一个…...

蓝桥小白赛4 乘飞机 抽屉原理 枚举
👨🏫 乘飞机 🐷 抽屉原理 import java.util.Scanner;public class Main {static int N 100010;static int[] a new int[N];public static void main(String[] args){Scanner sc new Scanner(System.in);int n sc.nextInt();int q s…...

HTML新手教程
HTML入门 教程:【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 一.初识HTML HyperTextMarkupLanguage(超文本标记语言) 超文本包括:文字、图片、音频、视频、动画。 HTML5的优势 世界知名浏览器厂商对HTML5的支持市场的…...
P1226 【模板】快速幂题解
题目 给你三个整数a,b,p,求 mod p。 输入输出格式 输入格式 输入只有一行三个整数,分别代表a,b,p。 输出格式 输出一行一个字符串a^b mod ps,其中a,b,p分别为题目给定的值,s为运算结果。 输入输出样例 输入样例 2 10 9 …...
文旅游戏的多元应用场景
文旅游戏在各个领域中找到了广泛的应用,为用户提供了独特的文化体验和娱乐享受。下面将探讨文旅游戏在多个应用场景中的丰富表现。 1. 旅游推广与目的地引导 文旅游戏成为旅游局的一项有力工具,能够将目的地的历史、文化和特色景点巧妙地融入游戏中。通…...
小波变化最通俗的解释,小波变换是用来干什么的,类似小波变换功能的算法有哪些?
问题描述:小波变化最通俗的解释,小波变换是用来干什么的,类似小波变换功能的算法有哪些? 问题解答: 小波变换是一种数学工具,用于分析信号的频域特性。它可以将信号分解成不同频率的子信号,…...

Servlet 与 MVC
主要内容 Servlet 重点 MVC 重点 Filter 重点 章节目标 掌握 Servlet 的作用 掌握 Servlet 的生命周期 掌握 JSP 的本质 掌握 MVC 的设计思想 掌握 Filter 的作用及使用场景 第一节 Servlet 1. Servlet 概念 Servlet 是在服务器上运行的能够对客户端请求进行处理&a…...
基于单片机的感应自动门控制器的设计
摘要 现如今自动化、信息化程度越来越高, 单片机的应用领域也越来越广, 成为人们生活不可或缺的一部分。随省社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便千生活的自动控制系统开始进入了人们的生活,以单片机为核…...

兄弟HL-1208黑白激光打印机清零方法
兄弟HL-1208黑白激光打印机基本参数: 产品类型:黑白激光打印机(定位类型家用) 最大打印幅面:A4 最高分辨率:600600dpi 黑白打印速度:20ppm 内存标配:1MB,最大&#…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。
2024 年,高端封装市场规模为 80 亿美元,预计到 2030 年将超过 280 亿美元,2024-2030 年复合年增长率为 23%。 细分到各个终端市场,最大的高端性能封装市场是“电信和基础设施”,2024 年该市场创造了超过 67% 的收入。…...
背包问题双雄:01 背包与完全背包详解(Java 实现)
一、背包问题概述 背包问题是动态规划领域的经典问题,其核心在于如何在有限容量的背包中选择物品,使得总价值最大化。根据物品选择规则的不同,主要分为两类: 01 背包:每件物品最多选 1 次(选或不选&#…...

Java设计模式:责任链模式
一、什么是责任链模式? 责任链模式(Chain of Responsibility Pattern) 是一种 行为型设计模式,它通过将请求沿着一条处理链传递,直到某个对象处理它为止。这种模式的核心思想是 解耦请求的发送者和接收者,…...