TemplatePart用法说明

原文:TemplatePart用法说明

TemplatePart(Name="PART_Decrease", Type=typeof(RepeatButton))

一直没明白这是干嘛用的,搜了一下,记载一下。

以Button的定义为例:

namespace System.Windows.Controls
{// Summary://     Represents a button control, which reacts to the Click event.[TemplatePart(Name = "Normal State", Type = typeof(Storyboard))][TemplatePart(Name = "MouseOver State", Type = typeof(Storyboard))][TemplatePart(Name = "RootElement", Type = typeof(FrameworkElement))][TemplatePart(Name = "Pressed State", Type = typeof(Storyboard))][TemplatePart(Name = "FocusVisualElement", Type = typeof(UIElement))][TemplatePart(Name = "Disabled State", Type = typeof(Storyboard))]public class Button : ButtonBase{// Summary://     Initializes a new instance of the Button class.public Button();// Summary://     Apply a template to the Button.protected override void OnApplyTemplate();//// Summary://     Called when the IsEnabled property changes.//// Parameters://   isEnabled://     New value of the IsEnabled property.protected override void OnIsEnabledChanged(bool isEnabled);}
}

 [TemplatePart(Name = "Normal State", Type = typeof(Storyboard))] 这种东东是做什么用的 , 其实这是一种契约 , 是一种推荐的控件设计模式(只是推荐) , 意思是告诉要来写ControlTemplate的用户 , 你的ControlTemplate中需要有一个x:Name为“Normal State” , 类型为Storyboard , 当然这个类型可以是继承来的, 为什么一定要包含这些契约规定的元素 , 因为逻辑部分对这些东西进行了引用,它们将对控件的默认行为起着关键作用, 可以理解为这个控件的最基本元素 , 是实现默认行为的最小集合, 自然,你的ControlTemplate中如果没有包含契约中的内容 , 则相应的逻辑将无法实现。

所以说白了,就是提示用的.....这么写比较规范。

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

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

相关文章

nginx配置多个站点共用80端口

原文链接:https://blog.csdn.net/zhezhebie/article/details/73459874 --------------------------------------------- 配置文件下载地址:https://download.csdn.net/download/zengmingen/10462400共用80端口的,要server_name不同。如果用域…

两点间最短路 java_AcWing 850. Dijkstra求最短路 II_Java实现含详细注释

import java.io.*;import java.util.Arrays;import java.util.Comparator;import java.util.PriorityQueue;public class Main {static final int N 150010;static int n, m; //结点数,边数static int[] h, e, ne, w; //邻接表适合表示稀疏图,w用来存每个边权重sta…

SQL Server如何链接到 Oracle并查询其中的数据?并实现做接口

今天用Oracle的驱动教大家如何从SQL Server链接到Oracle. 1. 服务器上需要安装Oracle 64位的客户端或者服务端,安装过程就省略了。不会的同学可以网上搜索一下安装方法,很详细,这里不赘述。 安装完成后SQL Server的访问接口上会新增”OraOLE…

Tomcat 内存调大

第一种方法:Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:JAVA_OPTS-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】需要把这个两个参数值调大。例如&#xf…

java spring bean配置文件_Spring基于xml文件配置Bean过程详解

这篇文章主要介绍了spring基于xml文件配置Bean过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下通过全类名来配置:class:bean的全类名,通过反射的方式在IOC容器中创建B…

win10升级后chrome碰到对话框就卡死

低版本的 chrome 会出现这样的问题 解决方法: 设置-------高级设置-----取消硬件加速

客户端SDK测试思路

本文来自网易云社区作者:万春艳是什么客户端SDK是为第三方开发者提供的软件开发工具包,包括SDK接口、开发文档和Demo示例等。SDK和应用之间是什么关系呢?以云信即时消息服务为例,如下图所示,应用客户端通过调用云信SDK…

nginx could not build the server_names_hash 解决方法

原文地址:http://www.jb51.net/article/26412.htm ------------------------------------------------------- nginx “nginx could not build the server_names_hash”解决方法 给一个服务器下增加了一些站点别名,差不多有20多个。 重启nginx时候&#…

java 使用fusioncharts_fusioncharts同一页面显示2个仪表盘,且以java字符串作为xml数据...

fusioncharts同一页面显示2个仪表盘,且以java字符串作为xml数据String path request.getContextPath();%>String xml "";%>FusionCharts - Multiple Charts on one Pagevar contextpath "";var xml ;body {font-family: Arial, Helve…

排名前16的Java工具类

原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码…

VS2012(Visual Studio 2012)官方免费中文旗舰版下载(含激活密钥)

原文路径:http://www.nocang.com/visual-studio-ultimate-2012/ vs2012旗舰版安装激活教程 1、下载到的是ISO格式文件,直接解压缩或用虚拟光驱加载运行;2、无所不藏推荐直接解压缩安装即可,双击“vs_ultimate.exe”进行安装&#…

magic square java_测试Magic Square Java的.txt文件

我不想问,但我无法弄清楚这个任务,当我寻求帮助时,助教也不会。我必须从文本文件中获取输入,将文件中的整数输入到数组列表中,然后测试它是否是anxn幻方。n等于数组列表长度的平方根。如果不是理想的正方形&#xff0c…

字符串拼串 能缓解我们的开发难度→!←(ε=(´ο`*)))唉,又是一个不知道该怎么写题目的随笔啊,头疼)...

简单描述:今天看我同事提交的代码,发现一个东西,让我有了一点小想法,是这样的,他利用一个‘’无关紧要‘’的标签属性,(哈哈哈,也不能说人家是无关紧要的属性了,暂时是无关紧要的属性…

SQL中使用DISTINCT显示多个字段的方法(不使用DISTINCT了)

原文连接: https://www.cnblogs.com/alanliu/archive/2008/02/25/1080626.html --------------------------------- 效果是DISTINCT CUS_NO,并且同时显示CUS_NAME.SELECTCUS_NO,MIN(CUS_NAME) ASCUS1 FROMdbo.CUS GROUPBYCUS_NO

java 注释快捷打出时间_Java快捷---自动注释时间作者。。。

在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的。修改作者、日期注释格式:打开Windows->Preferences->Java->Code Style->Code Templates,点击右边窗口中的Comments,可以看到有很多…

016 pickle

英文也是泡菜的意思。 学完了,还是感觉这个模块是蛮不错的,对多数据保存到文件中,然后在使用的时候,再读取出来,让程序闲的更加优雅,简洁。 一:介绍 1.为什么使用 在开篇已经介绍了,…

centos7与centos6区别

原文连接:https://www.cnblogs.com/bethal/p/5945026.html ---------------------------------------------------------------- CentOS 7 vs CentOS 6的不同 (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系统[…

用java编写日历添加窗口一角_Java 实训4 编写一个窗体程序显示日历

实训要求:1.使用BorderLayout 进行总体布局2.在North 位置放置包含两个按钮( 上月和下月)的Panel3.在South 位置放置一个Label 用于显示当前年份和月份4.在Center 位置放置一个显示日历的Panel5.显示日历的Panel 设置7 行7 列的GridLayout 布局,其中第1行…

ER图转换成关系模式集的规则

转自己博客园文章 A与B1:1 在A表里把B表的主键和关系的属性加入到A表中 或B表里把A表的主键和关系的属性加入到B表中 举例 男人表身份证号姓名年龄女人身份证号登记日期女人表身份证号姓名年龄 A与B1:N 在A表中加入B表的主键与关系的属性 小米公司纳税号公司全称…

Grafana文档(在Centos / Redhat上安装)

在基于RPM的Linux上安装(CentOS,Fedora,OpenSuse,RedHat) 描述下载CentOS / Fedora / OpenSuse / Redhat Linux稳定版本x86-64CentOS / Fedora / OpenSuse / Redhat Linux稳定版本ARM64CentOS / Fedora / OpenSuse / R…