博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TemplatePart用法说明
阅读量:5071 次
发布时间:2019-06-12

本文共 1654 字,大约阅读时间需要 5 分钟。

原文:

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中如果没有包含契约中的内容 , 则相应的逻辑将无法实现。

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

posted on
2018-08-30 17:09 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/9561358.html

你可能感兴趣的文章
数据库索引
查看>>
CSS3选择器之学习笔记
查看>>
重建数据库索引等SQL常用语句
查看>>
JSP页面用EL表达式 输出date格式
查看>>
网络层block,delegate之优劣分析
查看>>
linux一步一脚印---cp命令
查看>>
YAHOO工具库提供的方法[转贴]
查看>>
[BZOJ4373]算术天才⑨与等差数列
查看>>
/浮点数的比较
查看>>
P1196 [NOI2002]银河英雄传说
查看>>
ORACLE查询删除重复记录三种方法
查看>>
20145120 《Java程序设计》实验三实验报告
查看>>
知乎TensorFlow入门学习记录
查看>>
工厂方法模式
查看>>
android 发现了以元素'd:skin'开头的无效内容
查看>>
HDU 1018 Big Number
查看>>
3、CentOS 6.5系统安装配置Tomcat 8详细过程
查看>>
Spring Boot:Spring Boot 中 Redis 的使用
查看>>
%s %d %f 等等是什么意思
查看>>
无人值守安装linux系统
查看>>