首页 > 其他分享 >第十二章 -------------------控件模板

第十二章 -------------------控件模板

时间:2023-01-06 10:56:34浏览次数:41  
标签:控件 FrameworkTemplate ------------------- ControlTemplate 按钮 public 模板

1.什么是控件模板? 我看完这一节,就一个字难,太TM难了,难到上天,但是我还是要慢慢消化。 当我写了一段代码关于按钮的;  <Button Margin="10" Content="Test" Height="50"> </Button> 按钮正常显示,但是我想自己定义一个按钮,那就麻烦了,原有的方式是不行的了,那么怎么办? 控件模板的问题就提出来了


控件模板:使用的是控件的Template属性 public ControlTemplate Template { get; set; }来自control, public class ControlTemplate : FrameworkTemplate  public abstract class FrameworkTemplate : DispatcherObject, INameScope, IQueryAmbient 可以看出这个玩意来自控件,ControlTemplate 继承了FrameworkTemplate  FrameworkTemplate 继承了DispatcherObject 那就明白了控件模板这个玩意从control向上一脉相传,最中在老祖宗都有。
 <Button Margin="10" Background="SeaGreen" Content="Test" Height="50" Template="{StaticResource btntemp}" >

<Window.Resources>
<ControlTemplate x:Key="btntemp" TargetType="Button">
<Grid>
<Border Background="{TemplateBinding Background }" BorderBrush="Red" BorderThickness="5"/>
<ContentPresenter Content="{TemplateBinding Content }" ></ContentPresenter>
</Grid>

</ControlTemplate>
</Window.Resources>

可以看出来,我对控件模板的理解就是,将复杂的自定义控件抽象出来,通过绑定的方式来给与自己需要的样子,处处可用

 

标签:控件,FrameworkTemplate,-------------------,ControlTemplate,按钮,public,模板
From: https://www.cnblogs.com/EdwardShare/p/17029727.html

相关文章

  • 学习-图论
    概念置换环以下内容来自ChatGpt:置换环是一个置换的一部分,其中包含一个或多个点的映射。每个点都映射到了另一个点,而最后一个点又映射回了第一个点。因此,置换环可以被看......
  • 设计模式(6)--外观模式
    外观模式原理一个家庭影院的项目:在家庭影院中引入第二个遥控器用来调用各个功能放在一个接口上外观模式提供统一接口,来访问子系统中一群功能相关的接口,外观模式定义了一个高......
  • 设计模式(3)--观察者模式
    概要:观察者模式原理观察者模式实例Java内置观察者Internet气象站项目:提供温度、气压和温度的接口测量数据更新时需实时的通知第三方需要设计开放性API,便于其他第三方公司......
  • 设计模式(4)--工厂模式
    通过Pizza项目引出简单工厂模式工厂方法模式抽象工厂模式关键点披萨项目:要方便披萨品种的扩展、要便于维护、要能运行时扩展披萨族设计:定义一个Pizza的抽象类,定义四种......
  • 设计模式(1)--设计原则
    学习目标:*掌握GOF核心设计模式*掌握重构技法改善设计*掌握面向对象设计原则*理解松耦合设计思想以后会把之前学的设计模式都放上来设计模式:设计模式是一套被反复利用......
  • 设计模式(2)--策略模式
    引入:模拟鸭子项目:从面向对象的角度设计这个项目,共同有一个gaga()叫,一个swim()方法,但是有一个display()方法不相同,所以前两个相同就在父类中实现,剩下一个在父类中是抽象方法......
  • 关于异或-异或运算及其应用
    概念异或,是一个数学运算符,英文为exclusiveOR,缩写为xor,应用于逻辑运算异或的数学符号为“⊕”,计算机符号为“xor”  如果a、b两个值不相同,则异或结果为1......
  • 设计模式(7)--单例模式
    单例模式的意义:用到的类的对象只能有一个(线程池,缓存,打印机等硬件设备)。如果多个实例会有造成冲突、结果不一致等问题可以用静态变量来指代这个对象来实现协商一个全局变量实......
  • 设计模式(5)--适配器模式
    首先声明鸭子和火鸡的接口packageshipeiqi;publicinterfaceDuck{publicvoidgaga();publicvoidfly();}publicinterfaceTurkey{publicvoidgogo();......
  • Json-Tutorial04 Unicode解析
    前言本节实际上做的工作是上一节的遗留工作:\u转义字符的解析。UTF-8的解析规则在本教程所设计的Json库中,只涉及UTF-8的解析。具体的解析规则教程中都已经说的非常清楚了......