WPF+MVVM案例实战(十七)- 自定义字体图标按钮的封装与实现(上)

news2024/12/24 8:26:48

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1、案例效果
  • 1、按钮分类
  • 2、BC类按钮实现
    • 1、文件创建
    • 2、字体图标资源
    • 3、自定义依赖属性
    • 4、按钮特效样式实现
  • 3、案例实现


1、案例效果

在这里插入图片描述

1、按钮分类

在WPF开发中,最常见的就是按钮的使用,这里我们总结以下大概的按钮种类,然后分别实现对应的按钮。

  • A【纯文字按钮】 只有文字,但是会根据根据操作改变颜色
  • B【纯图片按钮 】只有图片,但是会有图片旋转或者变色特效
  • C【文字图片按钮】图片在左,文字在右边,有部分特效
  • D【文字图片按钮】图片在右,文字在左边,有部分特效
  • E【文字图片按钮】图片在上,文字在下,有部分特效
  • F【文字图片按钮】图片在下,文字在上,有部分特效

基本上所有按钮都是上面归纳的情况了,接下来,我们一步一步去实现上面的这些按钮并封装成对应的按钮控件,方便后续使用。

2、BC类按钮实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2229979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day-77 超级饮料的最大强化能量

思路 动态规划:因为每一步要么选A,要么选B,所以问题可以转换为求最后一步从A选或从B选中的较大值 解题过程 定义而二维数组dp,dp[i][0]表示最后一步从A取能获得的最大能量,dp[i][1]表示最后一步从B取能获得的最大能量状态转换方程…

91.【C语言】数据结构之单向链表的头删和尾删

目录 1.尾删函数SLTPopBack 代码示例(写入SList.c) 在SList.h中写入该函数的声明 main.c部分代码改为 ​编辑 分析 解决方法 方法1:双指针算法(快指针tail,慢指针pretail) 方法2 2.头删函数SLTPopFront 一个节点示意图 多个节点示意图 代码示例(写入SList.c) 在S…

C语言内幕--全局变量(结合内存分区、汇编视角看类型、连接器)

前言 学习资源:b站up主:底层技术栈学过C语言都知道,全局变量可以再全局中使用,其实全局变量内部还是涉及到不少知识,这里从内存分区、汇编视角看类型、连接器等角度看待全局变量;由于涉及到底层技术&#…

新160个crackme - 089-fornixcrackme1

运行分析 需要破解Name和Serial PE分析 ASM程序,32位,无壳 静态分析&动态调试 ida搜索找到关键字符串 动态分析关键函数,逻辑如上图,通过Name计算得到char_1,亦或后对比Serial,相等则返回成功信息 分析…

Python爬虫系列(一)

目录 一、urllib 1.1 初体验 1.2 使用urllib下载网页、图片、视频等 1.3 反爬介绍 1.4 请求对象定制 1.5 get请求的quote方法 1.6 多个参数转成ascii编码 1.7 post请求 1.8 综合案例演示 一、urllib 1.1 初体验 # urllib是python默认带的,无需额外下载 i…

动态规划-回文串问题——5.最长回文子串

1.题目解析 题目来源:5.最长回文子串——力扣 测试用例 2.算法原理 1.状态表示 判断回文子串需要知道该回文子串的首尾下标,所以需要一个二维数组且数据类型为bool类型来存储每个子字符串是否为回文子串, 即dp[i][j]:以第i个位置为起始&a…

源代码安全管理:深信达SDC沙盒技术解密

在数字化时代,源代码安全管理的重要性日益凸显,它不仅关系到企业的核心竞争力,更是企业智慧成果的结晶。深信达的SDC沙盒防泄密软件以其独特的技术优势,为源代码安全提供了全方位的保护。 源代码安全管理的重要性 源代码作为企业…

Virtuoso使用layout绘制版图、使用Calibre验证DRC、LVS、PEX抽取RC

1 绘制版图 1.1 进入Layout XL 绘制好Schmatic后,在原理图界面点击Launch,点击Layout XL进入版图绘制界面。 1.2 导入元件 1、在Layout XL界面左下角找到Generate All from Source。 2、在Generate Layout界面,选中“Instance”&#…

YOLO11改进 | Neck | 有效提升小目标检测效果,附完整代码结构图【论文必备】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 本文给大家带来的教程是将YOLO11的卷积替…

vue文件转AST,并恢复成vue文件(适用于antdv版本升级)

vue文件转AST,并恢复成vue文件---antdvV3升级V4 vue文件转AST,重新转回原文件过程如何获取项目路径读取项目文件,判断文件类型分别获取vue文件 template js(vue2和vue3)处理vue 文件template部分处理vue script部分uti…

【染色时间】

题目 代码 #include <bits/stdc.h> using namespace std; #define x first #define y second typedef pair<int,int> PII; const int N 510; int dx[] {0,0,-1,1}, dy[] {-1,1,0,0}; int d[N][N], w[N][N]; int n, m; void bfs() {memset(d, 0x3f, sizeof d);q…

蓝牙 BLE 详解

参考链接 BLE博客书籍推荐&#xff1a;Intro to Bluetooth Low Energy: The easiest way to learn BLE

QT项目-仿QQ聊天(带宠物系统)

目录 一&#xff0c;项目介绍 二&#xff0c;开发环境 三&#xff0c;涉及技术 四&#xff0c;项目效果示例图 1&#xff0c;登录界面 2&#xff0c;主界面 3&#xff0c;聊天界面 4&#xff0c;功能界面 5&#xff0c;宠物界面 一&#xff0c;项目介绍 这是一个基于u…

【Linux内核大揭秘】程序地址空间

文章目录 什么是程序地址空间地址空间的组成虚拟内存技术 如何理解程序地址空间页表页表的细节关于堆区 在Linux中如何查看各个分段的信息总结 什么是程序地址空间 程序地址空间是一个程序在执行期间可以访问的内存范围。它由操作系统为每个进程分配&#xff0c;以确保进程之间…

资深项目经理推荐的这五款国产项目管理软件值得收藏使用

随着国产项目管理软件的发展&#xff0c;国内也涌现了一批优秀的项目管理软件&#xff0c;他们在各个领域都非常出色&#xff0c;国产项目管理软件在安全性和网络访问上是国外产品无法比拟的&#xff0c;像进度猫、建文、新页等&#xff0c;以下推荐五款国产项目管理软件&#…

[POI2014] PTA-Little Bird(单调队列优化 DP)

luogu 传送门https://www.luogu.com.cn/problem/P3572 解题思路 先设 表示到 的最小劳累值。 很容易得出转移&#xff1a; 其中 由 和 的大小关系决定&#xff0c;并且 。 很显然&#xff0c;直接暴力是 的&#xff0c;会超时。 于是&#xff0c;考虑优化。 我们发现…

python--函数详解二

一、作用域&#xff1a; 一个标识符的可见范围&#xff0c;这就是标识符的作用域&#xff0c;一般说的是变量的作用域 1.1、全局作用域 运行结果 在整个程序运行环境中可见。可以被多个函数重复多次使用 1.2、局部作用域 运行结果 这里调用a&#xff0c;显示未定义&#xff…

LeetCode 3165. 不包含相邻元素的子序列的最大和

. - 力扣&#xff08;LeetCode&#xff09; 题目 给你一个整数数组 nums 和一个二维数组 queries&#xff08;维&#xff09;&#xff0c;其中 queries[i] []。 对于每个查询 i&#xff0c;首先将 nums[] 设置为 &#xff0c;然后计算查询 i 的答案&#xff0c;该答案为 nu…

基于无框力矩电机抱闸实现人形机器人在展会中不依赖悬吊

目录&#xff1a; 1 人形机器人在展会中的悬吊状态 2 人形机器人不能长时间站立的原因 3 基于电机抱闸使人形机器长时间站立 4 人形机器人在实用场景中必须长时间站立、快速进行 “静-动” 互换 5 人形机器人在实用场景中实现 “静-动” 快速互换的抱闸控制思路 6 无框力…