WPF 深入理解六、ControlTemplate控件模板

ControlTemplate

定义

控件模板用于来定义控件的外观、样式,还可通过控件模板的触发器(ControlTemplate.Triggers)修改控件的行为、响应动画等。

  • 对与WPF当中,每个控件都是无外观的,这意味着我们可以完全自定义其可视元素的外观,但是不能修改其内部的行为,因为控件的行为已经被固定在控件的具体类中。

  • 在Winform当中,你会发现,控件的外观与行为都被固定在控件的具体类中,当我们想要修改按钮的的边框弧度、或者修改控件本身一些细节的时候,我们需要修改外观的同时,把原来具备的所有行为重写一遍,我们大多数称之为自定义控件。

Sytle只能操控已有的属性,控件模板可以修改元素的构成。比如Button可以设定里面有多个TextBox

示例

首先创建一个button 按钮

打开文本大纲

在这里插入图片描述
在这里插入图片描述

编辑副本

点击右键为button 按钮编辑副本

在这里插入图片描述
在这里插入图片描述

此时代码中生成了 一些 样式代码
在这里插入图片描述

controlTemplate 控件模板

在这里插入图片描述

contenPresenter 定义元素内容

在这里插入图片描述
在这里插入图片描述

border 修改外观

在这里插入图片描述

TemplateBinding 模板绑定

在这里插入图片描述
在这里插入图片描述

定义在style属性外

在这里插入图片描述

其他属性的样式副本 listview

在这里插入图片描述

在这里插入图片描述

自定义 绑定

在这里插入图片描述

ControlTemplate.Triggers

在这里插入图片描述

不会影响 事件

在这里插入图片描述
在这里插入图片描述
运行结果

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL系列】MySQL 字符集的演变与选择

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

HUSKY:一个优化大语言模型多步推理的新代理框架

推理被高度认可为生成人工智能的下一个前沿领域。通过推理,我们可以将任务分解为更小的子集并单独解决这些子集。例如以前的论文:思维链、思维树、思维骨架和反射,都是最近解决LLM推理能力的一些技术。此外推理还涉及一些外围功能&#xff0c…

Rust高性能日志库tklog0.0.8—支持mod设置参数

tklog是rust高性能结构化日志库,支持同步日志,异步日志,支持自定义日志的输出格式,支持按时间,按文件大小分割日志文件,支持日志文件压缩备份,支持官方日志库标准API,支持mod独立参数…

每日一题——力扣104. 二叉树的最大深度(举一反三+思想解读+逐步优化)四千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 目录 我的写法 代码功能 代码结构 时间复杂度分析 空间复杂度分析 总结 我要更强 优化方法:迭代&…

20240620在飞凌OK3588-C的LINUX系统启动的时候拉高3个GPIO口141-111-120【方法二】

20240620在飞凌OK3588-C的LINUX系统启动的时候拉高3个GPIO口141-111-120【方法二】 2024/6/20 9:05 缘起:在凌OK3588-C的LINUX R4系统启动的时候,需要拉高GPIO4_B5、GPIO3_B7和GPIO3_D0。 cat sys/kernel/debug/gpio cat /sys/kernel/debug/pinctrl/pin…

搞IT需不需要考个软考中级?

如果你是在事业单位、银行、国企等体制内工作,建议考虑参加软考。通过软考评职称后,可以获得加薪和晋升的机会,而且晋升时也会更看重你的职称等级。我就是通过软考评定了中级职称,薪水涨了500元。 评职称并不仅仅是拿到证书就行&…

【自动驾驶】ROS小车系统、运动底盘的运动学分析和串口通信控制

文章目录 小车组成轮式运动底盘的组成轮式运动底盘的分类轮式机器人的控制方式感知传感器ROS决策主控ROS介绍ROS的坐标系ROS的单位机器人电气连接变压模块运动底盘的电气连接ROS主控与传感器的电气连接ROS主控和STM32控制器两种控制器的功能运动底盘基本组成电池电机控制器与驱…

【计算机网络体系结构】计算机网络体系结构实验-www服务器配置管理实验

一、实验内容 www服务器配置管理, wireshark数据包分析 二、实验目的 1. 了解WWW服务的体系结构与工作原理,掌握利用Microsoft的IIS实现WWW服务的基本配置,掌握WEB站点的管理 2. 利用Wireshark抓取http数据包进行分析。运行软件Wireshark…

【ARMv8/v9 GIC 系列 4 -- GIC 中断分类 SGI | PPI | SPI 及中断检测流程】

文章目录 GIC 中断分类SGI(Software Generated Interrupts)PPI(Per-Processor Interrupts)SPI(Shared Peripheral Interrupts) 中断检测流程物理中断生命周期SPI 中断检测流程PPI 和SGI中断检测流程LPI中断…

Linux基础篇

Linux 本文章是在B站的尚课听的,但是由于版本较老,而且是以centOS学习Linux,由于CentOS在10天后就不再更新,被抛弃了,痛定思痛,及时停课。但是又不想浪费笔记,前来保存一下。 文章目录 Linux前…

iptables(4)规则匹配条件

简介 前面我们已经介绍了iptables的基本原理,表、链,数据包处理流程。如何查询各种表的信息。还有基本的增、删、改、保存的基础操作。 经过前文介绍,我们已经能够熟练的管理规则了,但是我们只使用过一种匹配条件,就是将”源地址”作为匹配条件。那么这篇文章中,我们就来…

电子竞赛1——基于DDS的AM信号发生器

课题要求 产生AM调幅波; 要求:载波10K,被调制波1K; 短按键1(pin_143)改变该调幅波的调制度:25%、50%、75%; 长按按键1(pin_143)改变被调制信号频率&#…

R语言——类与对象

已知2024年4月23日是星期五,编写一个函数day.in.a.week (x, y,z),参数x和y和z分别代表年月日,判断这一天是否存在(例如,2018年没有2月29日,也没有11月31日),如果不存在,返…

Elasticsearch-高CPU优化

ES 高CPU会导致: 吞吐量下降查询响应时间增加慢查询数增加 谁占用了CPU us:user time,表示 CPU 执行用户进程的时间。(各种逻辑运算,函数,排序,复杂相关性计算,密集数据插入等等&am…

Python多语言欧拉法和预测校正器实现

📜流体力学电磁学运动学动力学化学和电路中欧拉法 📜流体力学电磁学运动学动力学化学和电路中欧拉法示例:Python重力弹弓流体晃动微分方程模型和交直流电阻电容电路 ✒️多语言实现欧拉法和修正欧拉法 在数学和计算科学中,欧拉…

HNU OS实验五

本内容针对湖南大学特色os实验前言 — os2024 lab 文档

无约束动态矩阵控制(DMC)

0、前言 动态矩阵控制(Dynamic Matrix Control,DMC)是一种典型的模型预测控制方法,其不需要被控对象的数学模型,只需要获取被控对象的阶跃响应序列即可实现控制效果,但其需要被控对象是渐近稳定的。 1、稳…

Unity做一个剪辑声音的工具 在编辑器模式实时剪辑声音

Unity音频剪辑工具的实现 在游戏开发中,音频是一个至关重要的元素。音频剪辑工具能够帮助开发者高效地编辑和管理音频文件。本文将解析一个基于Unity编辑器的音频剪辑工具的实现方法 效果 工具功能 该音频剪辑工具允许用户在Unity编辑器中加载音频片段&#xff0…

【django问题集】django.db.utils.OperationalError: (1040, ‘Too many connections‘)

一、报错内容 django.db.utils.OperationalError: (1040, Too many connections) 主要体现:就是请求不了后台,登录都登录不了。 二、代码优化 原生django配置的mysql连接是没有连接池的功能,会导致mysql连接创建过多导致连接数超过了mysql服…

解决安全规模问题:MinIO 企业对象存储密钥管理服务器

在强大可靠的存储解决方案领域,MinIO 作为持久层脱颖而出,为组织提供安全、持久和可扩展的存储选项。MinIO 通常负责处理关键任务数据,在确保高可用性方面发挥着至关重要的作用,有时甚至在全球范围内。存储数据的性质,…