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

ControlTemplate

定义

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

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

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

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

示例

首先创建一个button 按钮

打开文本大纲


编辑副本

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


此时代码中生成了 一些 样式代码

controlTemplate 控件模板

contenPresenter 定义元素内容


border 修改外观

TemplateBinding 模板绑定


定义在style属性外

其他属性的样式副本 listview

自定义 绑定

ControlTemplate.Triggers

不会影响 事件


运行结果

相关推荐
冰茶_1 小时前
MAUI与XAML交互:构建跨平台应用的关键技巧
microsoft·微软·c#·交互·maui·xamarin
CodeCraft Studio2 小时前
PDF处理控件Aspose.PDF教程:以编程方式将PDF转换为Word
pdf·c#·word
Singe.Chen6 小时前
C#中Task.Run的线程管理最佳实践与并发控制
c#·.net·wpf
阿蒙Amon8 小时前
01. C#入门系列【你的第一个程序】从Hello World开始
开发语言·c#
上位机_0x9 小时前
c#中添加visionpro控件(联合编程)
开发语言·数码相机·c#
Dongwoo Jeong10 小时前
C# 初学者的 3 种重构模式
重构·c#·refactoring·immutable data
He BianGu11 小时前
演示:【WPF-WinCC3D】 3D工业组态监控平台源代码
wpf
拜特流动11 小时前
WPF核心类继承树结构
wpf
天天进步201511 小时前
C# Prism框架详解:构建模块化WPF应用程序
开发语言·c#·wpf
q__y__L11 小时前
C# AOP编程
c#·aop