WPF的ControlTemplate和DataTemplate简介

首先理清几个概念,Template、ControlTemplate、ContentTemplate、DataTemplate、ContentControl

这几个东西名字都差不多,意思感觉也接近,初次接触真的难以理解,那么现在开始区分了:

1.子类:

  ContentControl是Control的子类,专门用于显示内容的,如常用的Label就是ContentControl的子类

2.属性:

     Template 是Control类的一个属性;

     ContentTemplate是ContentControl的一个属性;

3.类型:

     Control的Template属性是ControlTemplate类型的;

     ContentControl的ContentTemplate属性是DataTemplate类型的;

4.用途:

    ControlTemplate,顾名思义,是控制控件外观和结构的,一般对于某个控件的类型,如一个Button长什么样子,Buttton里有一个列表,列表左侧显示图片等;

    DataTemplate,则是控制一个控件它的数据要如何呈现的,一般对于的是某种数据的类型,(一般是用来修饰其Content属性的),所以要求为该类型的属性赋值,

           如:

                Label的Content属性赋值后,可以设置Label的ContentTemplate;

                ItemsControl的ItemsSource属性赋值后,可以设置其的ItemTemplate;

                HeaderItemsControl的Header属性赋值后,可以设置其的HeaderTemplate;

5.WPF模板类的继承关系

     FrameworkTemplate

     派生出:

           ControlTemplate(决定控件外观)、ItemsPanelTemplate(决定集合的容器)、DataTemplate(决定数据的呈现方式)

         而DateTemplate又派生出 HierarchicalDataTemplate(层次数据模板,一般用于TreeView和Menu)

 

更多内容参考:http://www.cnblogs.com/YangMark/p/3154375.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值